*/
void utc_nntrainer_model_cleanup(void)
{
- ml_train_layer_destroy(layers[0]);
- ml_train_layer_destroy(layers[1]);
+ if (layers[0]) {
+ ml_train_layer_destroy(layers[0]);
+ }
+ if (layers[1]) {
+ ml_train_layer_destroy(layers[1]);
+ }
- ml_train_optimizer_destroy(adam);
- ml_train_dataset_destroy(dataset);
+ if (adam) {
+ ml_train_optimizer_destroy(adam);
+ }
+
+ if (dataset) {
+ ml_train_dataset_destroy(dataset);
+ }
return;
}
}
ml_train_model_destroy(model);
+ layers[0] = NULL;
return 0;
}
}
ml_train_model_destroy(model);
+ layers[1] = NULL;
return 0;
}
ml_train_model_destroy(model);
ml_train_model_destroy(other_model);
+ layers[1] = NULL;
return 0;
}
}
ml_train_model_destroy(model);
+ adam = NULL;
return 0;
}
ml_train_model_destroy(model);
ml_train_model_destroy(other_model);
+ adam = NULL;
return 0;
}
}
ml_train_model_destroy(model);
+ dataset = NULL;
return 0;
}
ml_train_model_destroy(model);
ml_train_model_destroy(other_model);
+ dataset = NULL;
return 0;
}
free(sum);
ml_train_model_destroy(model);
+ layers[0] = NULL;
return 0;
}
int utc_nntrainer_model_run_p2(void)
{
ml_train_dataset_h dataset;
- ml_train_optimizer_h optimizer;
ml_train_model_construct(&model);
ml_train_dataset_create_with_generator(&dataset, constant_generator_cb, NULL, NULL);
ml_train_dataset_set_property(dataset, "buffer_size=9", NULL);
ml_train_model_set_dataset(model, dataset);
- ml_train_optimizer_create(&optimizer, ML_TRAIN_OPTIMIZER_TYPE_ADAM);
- ml_train_optimizer_set_property(
- optimizer, "learning_rate=0.0001", "decay_rate=0.96", "decay_steps=1000",
- "beta1=0.9", "beta2=0.9999", "epsilon=1e-7", NULL);
-
- ml_train_model_set_optimizer(model, optimizer);
+ ml_train_model_set_optimizer(model, adam);
ml_train_model_add_layer(model, layers[0]);
ml_train_model_add_layer(model, layers[1]);
}
ml_train_model_destroy(model);
+ layers[0] = NULL;
+ layers[1] = NULL;
+ adam = NULL;
return 0;
}
assert_eq(status, ML_ERROR_NONE);
}
+ layers[0] = NULL;
+
return 0;
}
assert_eq(status, ML_ERROR_NONE);
}
+ layers[0] = NULL;
+
return 0;
}