Unit = 10 # Output Layer Dimension ( = Weight Width )
bias_initializer = zeros
Activation = sigmoid # activation : sigmoid, softmax
-Weight_Decay = l2norm
-weight_Decay_Lambda = 0.005
+weight_regularizer = l2norm
+weight_regularizer_constant = 0.005
extern int utc_nntrainer_model_get_summary_n(void);
extern int utc_nntrainer_model_compile_p(void);
extern int utc_nntrainer_model_compile_n(void);
-extern int utc_nntrainer_model_run_p(void);
+extern int utc_nntrainer_model_run_p1(void);
+extern int utc_nntrainer_model_run_p2(void);
extern int utc_nntrainer_model_run_n(void);
testcase tc_array[] = {
{"utc_nntrainer_model_get_summary_n", utc_nntrainer_model_get_summary_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_compile_p", utc_nntrainer_model_compile_p, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_compile_n", utc_nntrainer_model_compile_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
- {"utc_nntrainer_model_run_p", utc_nntrainer_model_run_p, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
+ {"utc_nntrainer_model_run_p1", utc_nntrainer_model_run_p1, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
+ {"utc_nntrainer_model_run_p2", utc_nntrainer_model_run_p2, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_run_n", utc_nntrainer_model_run_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{NULL, NULL},
extern int utc_nntrainer_model_get_summary_n(void);
extern int utc_nntrainer_model_compile_p(void);
extern int utc_nntrainer_model_compile_n(void);
-extern int utc_nntrainer_model_run_p(void);
+extern int utc_nntrainer_model_run_p1(void);
+extern int utc_nntrainer_model_run_p2(void);
extern int utc_nntrainer_model_run_n(void);
testcase tc_array[] = {
{"utc_nntrainer_model_get_summary_n", utc_nntrainer_model_get_summary_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_compile_p", utc_nntrainer_model_compile_p, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_compile_n", utc_nntrainer_model_compile_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
- {"utc_nntrainer_model_run_p", utc_nntrainer_model_run_p, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
+ {"utc_nntrainer_model_run_p1", utc_nntrainer_model_run_p1, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
+ {"utc_nntrainer_model_run_p2", utc_nntrainer_model_run_p2, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_run_n", utc_nntrainer_model_run_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{NULL, NULL},
extern int utc_nntrainer_model_get_summary_n(void);
extern int utc_nntrainer_model_compile_p(void);
extern int utc_nntrainer_model_compile_n(void);
-extern int utc_nntrainer_model_run_p(void);
+extern int utc_nntrainer_model_run_p1(void);
+extern int utc_nntrainer_model_run_p2(void);
extern int utc_nntrainer_model_run_n(void);
testcase tc_array[] = {
{"utc_nntrainer_model_get_summary_n", utc_nntrainer_model_get_summary_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_compile_p", utc_nntrainer_model_compile_p, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_compile_n", utc_nntrainer_model_compile_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
- {"utc_nntrainer_model_run_p", utc_nntrainer_model_run_p, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
+ {"utc_nntrainer_model_run_p1", utc_nntrainer_model_run_p1, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
+ {"utc_nntrainer_model_run_p2", utc_nntrainer_model_run_p2, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_run_n", utc_nntrainer_model_run_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{NULL, NULL},
extern int utc_nntrainer_model_get_summary_n(void);
extern int utc_nntrainer_model_compile_p(void);
extern int utc_nntrainer_model_compile_n(void);
-extern int utc_nntrainer_model_run_p(void);
+extern int utc_nntrainer_model_run_p1(void);
+extern int utc_nntrainer_model_run_p2(void);
extern int utc_nntrainer_model_run_n(void);
testcase tc_array[] = {
{"utc_nntrainer_model_get_summary_n", utc_nntrainer_model_get_summary_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_compile_p", utc_nntrainer_model_compile_p, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_compile_n", utc_nntrainer_model_compile_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
- {"utc_nntrainer_model_run_p", utc_nntrainer_model_run_p, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
+ {"utc_nntrainer_model_run_p1", utc_nntrainer_model_run_p1, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
+ {"utc_nntrainer_model_run_p2", utc_nntrainer_model_run_p2, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{"utc_nntrainer_model_run_n", utc_nntrainer_model_run_n, utc_nntrainer_model_startup, utc_nntrainer_model_cleanup},
{NULL, NULL},
#define TRAININGSET_PATH "trainingSet.dat"
#define VALSET_PATH "trainingSet.dat"
-#define BATCH_SIZE 32
-#define FEATURE_SIZE 62720
+#define BATCH_SIZE 9
+#define FEATURE_SIZE 100
#define NUM_CLASS 10
static bool train_supported;
for (i = 0; i < data_size; ++i)
{
- outVec[0][i] = 1;
+ outVec[0][i] = 0.0f;
}
- for(i = 0; i < BATCH_SIZE; ++i) {
- outLabel[0][i] = 1;
+ outLabel[0][0] = 1.0f;
+ for(i = 0; i < NUM_CLASS - 1; ++i) {
+ outLabel[0][i] = 0.0f;
}
- if (count == 5){
+ if (count == 10){
*last = true;
count = 0;
} else {
count++;
}
+ LOG_I("generator called");
+
return ML_ERROR_NONE;
}
check_feature();
ml_train_layer_create(&layers[0], ML_TRAIN_LAYER_TYPE_INPUT);
- ml_train_layer_set_property(layers[0], "input_shape=1:1:62720",
+ ml_train_layer_set_property(layers[0], "input_shape=1:1:100",
"normalization=true",
"bias_init_zero=true", NULL);
ml_train_layer_create(&layers[1], ML_TRAIN_LAYER_TYPE_FC);
ml_train_layer_set_property(
- layers[1], "unit= 10", "activation=softmax", "bias_init_zero=true",
- "weight_decay=l2norm", "weight_decay_lambda=0.005",
- "weight_ini=xavier_uniform", "name=fc100", NULL);
+ layers[1], "unit=10", "activation=softmax", "bias_init_zero=true",
+ "weight_regularizer=l2norm",
+ "weight_regularizer_constant=0.005",
+ "weight_initializer=xavier_uniform",
+ "name=fc100", NULL);
ml_train_optimizer_create(&adam, ML_TRAIN_OPTIMIZER_TYPE_ADAM);
ml_train_optimizer_set_property(
}
/**
- * @function utc_nntrainer_model_run_p
+ * @function utc_nntrainer_model_run_p1
* @since_tizen 6.0
- * @description test for model run
+ * @description test for model run with file
*/
-int utc_nntrainer_model_run_p(void)
+int utc_nntrainer_model_run_p1(void)
{
ml_train_model_construct_with_conf(conf_path, &model);
return 0;
}
+/**
+ * @function utc_nntrainer_model_run_p2
+ * @since_tizen 6.0
+ * @description test for model run with generator dataset
+ */
+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_add_layer(model, layers[0]);
+ ml_train_model_add_layer(model, layers[1]);
+
+ ml_train_model_compile(model, "loss=cross", "batch_size=9", NULL);
+
+ status = ml_train_model_run(model, "epochs=1", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_eq(status, ML_ERROR_NONE);
+ }
+
+ ml_train_model_destroy(model);
+
+ return 0;
+}
+
/**
* @function utc_nntrainer_model_run_n
* @since_tizen 6.0