mv_machine_learning: use carnel notation
[platform/core/api/mediavision.git] / mv_machine_learning / face_recognition / include / simple_shot.h
1 /**
2  * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __SIMPLE_SHOT_H__
18 #define __SIMPLE_SHOT_H__
19
20 #include <mv_inference_type.h>
21 #include "training_model.h"
22
23 class SimpleShot : public TrainingModel
24 {
25 private:
26         TrainingEngineBackendInfo _engine_info;
27
28 private:
29         void saveModel(const std::string file_path) override;
30         void removeModel(const std::string file_path) override;
31
32 public:
33         SimpleShot(const training_backend_type_e backend_type, const training_target_type_e target_type,
34                            const std::vector<size_t> input_tensor_shape, const std::string internal_model_file);
35         ~SimpleShot();
36
37         // Configure layers for SimpleShot learning.
38         void configureModel(int num_of_class) override;
39         TrainingEngineBackendInfo &getTrainingEngineInfo() override;
40 };
41
42 #endif