63a30c81498e04f2b763755dd905ad57f3792666
[platform/core/csapi/tizenfx.git] / src / Tizen.MachineLearning.Train / Interop / Interop.Model.cs
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 using System;
18 using System.Runtime.InteropServices;
19 using Tizen.MachineLearning.Train;
20
21 internal static partial class Interop
22 {
23     internal static partial class Model
24     {
25         /* typedef int ml_train_model_construct(ml_train_model_h *model) */
26         [DllImport(Libraries.Nntrainer, EntryPoint = "ml_train_model_construct")]
27         public static extern NNTrainerError Construct(out IntPtr model_handle);
28
29         /* typedef int ml_train_model_destroy(ml_train_model_h model) */
30         [DllImport(Libraries.Nntrainer, EntryPoint = "ml_train_model_destroy")]
31         public static extern NNTrainerError Destroy(IntPtr model_handle);
32
33         /* int ml_train_model_construct_with_conf(const char *model_conf, ml_train_model_h *model)*/
34         [DllImport(Libraries.Nntrainer, EntryPoint = "ml_train_model_construct_with_conf")]
35         public static extern NNTrainerError ConstructWithConf(string model_conf, out IntPtr model_handle);
36
37         /* int ml_train_model_compile_with_params(ml_train_model_h model, const char *params) */
38         [DllImport(Libraries.Nntrainer, EntryPoint = "ml_train_model_compile_with_single_param")]
39         public static extern NNTrainerError Compile(IntPtr model_handle, string compile_params);
40
41         /* int ml_train_model_run(ml_train_model_h model, ...) */
42         [DllImport(Libraries.Nntrainer, EntryPoint = "ml_train_model_run_with_single_param")]
43         public static extern NNTrainerError Run(IntPtr model_handle, string run_params);
44     }
45 }