Add Generator from paths 71/266471/1
authorRafal Walczyna <r.walczyna@samsung.com>
Fri, 2 Jul 2021 11:06:16 +0000 (13:06 +0200)
committerPiotr Kosko/Tizen API (PLT) /SRPOL/Engineer/Samsung Electronics <p.kosko@samsung.com>
Fri, 12 Nov 2021 10:07:48 +0000 (11:07 +0100)
original change: https://review.tizen.org/gerrit/261785

Change-Id: Iddb1630b9d93f961703083903e97ef455d60b7aa
Signed-off-by: Rafal Walczyna <r.walczyna@samsung.com>
src/ml/js/ml_trainer.js
src/ml/ml_instance.cc

index b56b9c4..a8b6411 100755 (executable)
@@ -363,11 +363,11 @@ MachineLearningTrainer.prototype.createLayer = function() {
     return new Layer(result.id);
 };
 
-function ValidateAndReturnDatasetPaths(train, validate, test) {
+function ValidateAndReturnDatasetPaths(train, valid, test) {
     try {
         var args = {
             train: tizen.filesystem.toURI(train),
-            validate: validate ? tizen.filesystem.toURI(validate) : '',
+            valid: valid ? tizen.filesystem.toURI(valid) : '',
             test: test ? tizen.filesystem.toURI(test) : ''
         };
         return args;
@@ -383,7 +383,7 @@ MachineLearningTrainer.prototype.createFileDataset = function() {
             type: types_.STRING
         },
         {
-            name: 'validate',
+            name: 'valid',
             type: types_.STRING,
             optional: true,
             nullable: true
@@ -391,7 +391,7 @@ MachineLearningTrainer.prototype.createFileDataset = function() {
         {
             name: 'test',
             type: types_.STRING,
-            optional: true,
+            optional: false,
             nullable: true
         }
     ]);
@@ -401,7 +401,12 @@ MachineLearningTrainer.prototype.createFileDataset = function() {
             'Invalid parameter: training set path is undefined'
         );
     }
-    var nativeArgs = ValidateAndReturnDatasetPaths(args.train, args.validate, args.test);
+
+    var nativeArgs = ValidateAndReturnDatasetPaths(
+        args.train,
+        args.has.valid ? args.valid : undefined,
+        args.has.test ? args.test : undefined
+    );
 
     var result = native_.callSync('MLTrainerDatasetCreateFromFile', nativeArgs);
     if (native_.isFailure(result)) {
@@ -434,7 +439,11 @@ MachineLearningTrainer.prototype.createGeneratorDataset = function() {
             nullable: true
         }
     ]);
-    ValidateDatasetPaths(args.train, args.validate.args.test);
+    ValidateDatasetPaths(
+        args.train,
+        args.has.validate ? args.validate : undefined,
+        args.has.test ? args.test : undefined
+    );
 
     // TODO
     return new Dataset(result.id, 'DATASET_GENERATOR');
index e52990b..eb86fc3 100644 (file)
@@ -74,9 +74,9 @@ const std::string kType = "type";
 const std::string kValue = "value";
 
 // TODO: sort const
-const std::string kTrainFilePath = "trainFilePath";
-const std::string kValidFilePath = "validFilePath";
-const std::string kTestFilePath = "testFilePath";
+const std::string kTrain = "train";
+const std::string kValid = "valid";
+const std::string kTest = "test";
 const std::string kOptions = "options";
 }  //  namespace
 
@@ -1853,14 +1853,14 @@ void MlInstance::MLTrainerDatasetCreateGenerator(const picojson::value& args,
 void MlInstance::MLTrainerDatasetCreateFromFile(const picojson::value& args,
                                                 picojson::object& out) {
   ScopeLogger("args: %s", args.serialize().c_str());
-  CHECK_ARGS(args, kTrainFilePath, std::string, out);
-  CHECK_ARGS(args, kValidFilePath, std::string, out);
-  CHECK_ARGS(args, kTestFilePath, std::string, out);
+  CHECK_ARGS(args, kTrain, std::string, out);
+  CHECK_ARGS(args, kValid, std::string, out);
+  CHECK_ARGS(args, kTest, std::string, out);
   int id = -1;
 
-  const std::string& train_file_path = args.get(kTrainFilePath).get<std::string>();
-  const std::string& valid_file_path = args.get(kValidFilePath).get<std::string>();
-  const std::string& test_file_path = args.get(kTestFilePath).get<std::string>();
+  const std::string& train_file_path = args.get(kTrain).get<std::string>();
+  const std::string& valid_file_path = args.get(kValid).get<std::string>();
+  const std::string& test_file_path = args.get(kTest).get<std::string>();
 
   PlatformResult result =
       trainer_manager_.CreateFileDataset(id, train_file_path, valid_file_path, test_file_path);