From: Inki Dae Date: Tue, 16 Nov 2021 07:12:07 +0000 (+0900) Subject: add save model api X-Git-Tag: submit/tizen/20220307.024724~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f5fc36687101ea1fb9be8b103d2c1db127bc5a2c;p=platform%2Fupstream%2Ftraining-engine-nntrainer.git add save model api [Version] : 0.1.0-0 [Issue type] : new feature This api saves trained model data to a given model file. Change-Id: Icc79b2138d5c8beecaef684e4cd540ffabd1af30 Signed-off-by: Inki Dae --- diff --git a/packaging/training-engine-nntrainer.spec b/packaging/training-engine-nntrainer.spec index e0f5ff9..fdffb66 100644 --- a/packaging/training-engine-nntrainer.spec +++ b/packaging/training-engine-nntrainer.spec @@ -1,7 +1,7 @@ Name: training-engine-nntrainer Summary: Training engine NNTrainer backend -Version: 0.0.2 -Release: 1 +Version: 0.1.0 +Release: 0 Group: Multimedia/Libraries License: Apache-2.0 ExclusiveArch: %{arm} aarch64 diff --git a/src/training_engine_nntrainer.cpp b/src/training_engine_nntrainer.cpp index 090b10a..9151f05 100644 --- a/src/training_engine_nntrainer.cpp +++ b/src/training_engine_nntrainer.cpp @@ -198,6 +198,17 @@ namespace NntrainerImpl LOGI("LEAVE"); } + int TrainingNntrainer::SaveModel(const training_engine_model *model, const std::string& file_path) + { + int ret = ml_train_model_save(model->model_handle, file_path.c_str(), ML_TRAIN_MODEL_FORMAT_INI_WITH_BIN); + if (ret != ML_ERROR_NONE) { + LOGE("Failed to save trainig data.(%d)", ret); + return TRAINING_ENGINE_ERROR_INVALID_OPERATION; + } + + return TRAINING_ENGINE_ERROR_NONE; + } + unique_ptr TrainingNntrainer::CreateLayer(training_engine_layer_type_e type) { LOGI("ENTER"); diff --git a/src/training_engine_nntrainer_private.h b/src/training_engine_nntrainer_private.h index 92a8eb9..ec79e26 100644 --- a/src/training_engine_nntrainer_private.h +++ b/src/training_engine_nntrainer_private.h @@ -54,6 +54,7 @@ namespace NntrainerImpl int GetBackendCapacity(training_engine_capacity &capacity) final; std::unique_ptr CreateModel(std::string model_config_path) final; void DestroyModel(const training_engine_model *model) final; + int SaveModel(const training_engine_model *model, const std::string& file_path) final; std::unique_ptr CreateLayer(training_engine_layer_type_e type) final; void DestroyLayer(const training_engine_layer *layer) final; int SetLayerProperty(const training_engine_layer *layer, training_engine_layer_property &property) final;