consider one more strings for all property options 20/262820/1
authorInki Dae <inki.dae@samsung.com>
Fri, 20 Aug 2021 06:48:35 +0000 (15:48 +0900)
committerInki Dae <inki.dae@samsung.com>
Fri, 20 Aug 2021 06:49:56 +0000 (15:49 +0900)
Change-Id: Ic89a9428665575bdee6ac91a9aad40cbdff06cd3
Signed-off-by: Inki Dae <inki.dae@samsung.com>
src/training_engine_nntrainer.cpp

index 1f6b5a58312888f98a1541228f9d029d53e43b80..df958a7b73c54d509aca59fc1a755228d5afa2f6 100644 (file)
@@ -258,20 +258,23 @@ namespace NntrainerImpl
 
                TE_CHECK_OBJ(optimizer, TRAINING_ENGINE_ERROR_INVALID_PARAMETER);
 
-               if (property.option.empty()) {
+               if (property.options.empty()) {
                        LOGE("invalid property.");
                        return TRAINING_ENGINE_ERROR_INVALID_PARAMETER;
                }
 
-               LOGI("optimizer option : %s", property.option.c_str());
+               LOGI("Optimizer property size : %zu", property.options.size());
 
-               int ret = ml_train_optimizer_set_property(static_cast<ml_train_optimizer_h>(optimizer->optimizer_handle),
-                                                                                         property.option.c_str(), NULL);
-               if (ret != ML_ERROR_NONE) {
-                       LOGE("Failed to set a optimizer property.");
-                       return TRAINING_ENGINE_ERROR_INVALID_OPERATION;
-               }
+               for (auto& opt : property.options) {
+                       LOGI("Set %s property", opt.c_str());
 
+                       int ret = ml_train_optimizer_set_property(static_cast<ml_train_optimizer_h>(optimizer->optimizer_handle),
+                                                                                               opt.c_str(), NULL);
+                       if (ret != ML_ERROR_NONE) {
+                               LOGE("Failed to set a optimizer property.");
+                               return TRAINING_ENGINE_ERROR_INVALID_OPERATION;
+                       }
+               }
 
                LOGI("LEAVE");
 
@@ -358,18 +361,22 @@ namespace NntrainerImpl
 
                TE_CHECK_OBJ(dataset, TRAINING_ENGINE_ERROR_INVALID_PARAMETER);
 
-               if (property.option.empty()) {
+               if (property.options.empty()) {
                        LOGE("invalid property.");
                        return TRAINING_ENGINE_ERROR_INVALID_PARAMETER;
                }
 
-               LOGI("property option : %s", property.option.c_str());
+               LOGI("Dataset property size : %zu", property.options.size());
 
-               int ret = ml_train_dataset_set_property(static_cast<ml_train_dataset_h>(dataset->dataset_handle),
-                                                                                         property.option.c_str(), NULL);
-               if (ret != ML_ERROR_NONE) {
-                       LOGE("Failed to set a dataset property.");
-                       return TRAINING_ENGINE_ERROR_INVALID_OPERATION;
+               for (auto& opt : property.options) {
+                       LOGI("Set %s property", opt.c_str());
+
+                       int ret = ml_train_dataset_set_property(static_cast<ml_train_dataset_h>(dataset->dataset_handle),
+                                                                                               opt.c_str(), NULL);
+                       if (ret != ML_ERROR_NONE) {
+                               LOGE("Failed to set a dataset property.");
+                               return TRAINING_ENGINE_ERROR_INVALID_OPERATION;
+                       }
                }
 
                LOGI("LEAVE");