mv_machine_learning: make abstract class
authorInki Dae <inki.dae@samsung.com>
Wed, 11 May 2022 01:46:35 +0000 (10:46 +0900)
committerInki Dae <inki.dae@samsung.com>
Wed, 20 Jul 2022 05:16:40 +0000 (14:16 +0900)
[Version] : 0.20.1-0
[Issue type] : code cleanup

Made two classes, DataSetManager and TrainingModel, as abstract class
by changing virtual functions to pure virtual ones.

Change-Id: I49d1cba4fd8fb96b065f18380f4b109928c1e1fe
Signed-off-by: Inki Dae <inki.dae@samsung.com>
mv_machine_learning/training/include/data_set_manager.h
mv_machine_learning/training/include/training_model.h
mv_machine_learning/training/src/data_set_manager.cpp
mv_machine_learning/training/src/training_model.cpp
packaging/capi-media-vision.spec

index 6c165f2ec52bff3047911918180a86cd1b11c346..56cbfd3d5c00efa1114436e3c3233e8a8592bbfd 100644 (file)
@@ -36,7 +36,6 @@ public:
        DataSetManager();
        virtual ~DataSetManager();
 
-       virtual void LoadDataSet(const std::string file_name);
        void Clear();
        bool IsFeatureVectorDuplicated(const std::vector<float>& vec);
        std::vector<std::vector<float>>& GetData(void);
@@ -45,6 +44,8 @@ public:
        size_t GetLabelSize(void);
        size_t GetDataSetLen(void);
        std::vector<unsigned int>& GetLabelIdx(void);
+
+       virtual void LoadDataSet(const std::string file_name) = 0;
 };
 
 #endif
\ No newline at end of file
index 3cea16fa11a1a9036bf1682a334bebe77f5821b3..552e6107d3af775f7cc938998a9dc438034ccfb4 100644 (file)
@@ -54,9 +54,9 @@ public:
        void Compile();
        void Train();
 
-       virtual void ConfigureModel(int num_of_class);
-       virtual TrainingEngineBackendInfo& GetTrainingEngineInfo();
-       virtual void SaveModel(const std::string file_path);
+       virtual void ConfigureModel(int num_of_class) = 0;
+       virtual TrainingEngineBackendInfo& GetTrainingEngineInfo() = 0;
+       virtual void SaveModel(const std::string file_path) = 0;
 };
 
 #endif
\ No newline at end of file
index a6349b962e2520df981f160f4d1e784c1d655b48..d661f3180b0444d582a8185c43a2b8dc17a92673 100644 (file)
@@ -28,11 +28,6 @@ DataSetManager::~DataSetManager()
        Clear();
 }
 
-void DataSetManager::LoadDataSet(const string file_name)
-{
-       LoadDataSet(file_name);
-}
-
 void DataSetManager::Clear()
 {
        for (auto& data : _data)
index f61c1456dc7005a7a822cf5f152450a24d1cd3b6..bea433ba80215c6bd995153be52b2d06df7b058c 100644 (file)
@@ -102,21 +102,4 @@ void TrainingModel::Train()
 
        // Save model file.
        SaveModel(_internal_model_file);
-}
-
-void TrainingModel::ConfigureModel(int num_of_class)
-{
-       // Child class implements model and layer configuration for training approach
-       // because there are various apparches so call child class's function.
-       ConfigureModel(num_of_class);
-}
-
-TrainingEngineBackendInfo& TrainingModel::GetTrainingEngineInfo()
-{
-       return GetTrainingEngineInfo();
-}
-
-void TrainingModel::SaveModel(const string file_path)
-{
-       SaveModel(file_path);
 }
\ No newline at end of file
index 2d77093143c7345aed0119846f0455788754ea0d..53582dc9164071cde61e1f08f37c09dd9472a503 100644 (file)
@@ -1,6 +1,6 @@
 Name:        capi-media-vision
 Summary:     Media Vision library for Tizen Native API
-Version:     0.20.0
+Version:     0.20.1
 Release:     0
 Group:       Multimedia/Framework
 License:     Apache-2.0 and BSD-3-Clause