1
2 #include "base/modules/c/include/WrapperIHaasML.h"
3 #include "base/include/IHaasML.h"
4 #include "ulog/ulog.h"
5 #include "base/modules/core/include/HaasErrno.h"
6
7 #define LOG_TAG "WRAPPER_ML"
8
MLCreateInstance(MLEngineType_t type)9 void* MLCreateInstance(MLEngineType_t type)
10 {
11 LOGD(LOG_TAG, "entern %s;\n", __func__);
12 IHaasML* mIHaasML = IHaasMLInstance(type);
13 if (mIHaasML == NULL)
14 {
15 LOGD(LOG_TAG, "IHaasInstance failed %s;\n", __func__);
16 return NULL;
17 }
18 return (void*)mIHaasML;
19 }
20
MLDestoryInstance(void * instance)21 void MLDestoryInstance(void* instance)
22 {
23 LOGD(LOG_TAG, "entern %s;\n", __func__);
24 IHaasML* mIHaasML = (IHaasML*)instance;
25 if (mIHaasML == NULL)
26 {
27 LOGD(LOG_TAG, "mIHaasML is NULL %s;\n", __func__);
28 return;
29 }
30 delete mIHaasML;
31 }
32
MLConfig(void * instance,char * key,char * secret,char * region_id,char * endpoint,char * url)33 int MLConfig(void* instance, char *key, char *secret, char *region_id,
34 char *endpoint, char *url)
35 {
36 LOGD(LOG_TAG, "key = %s;\n", key);
37 LOGD(LOG_TAG, "secret = %s;\n", secret);
38 LOGD(LOG_TAG, "region_id = %s;\n", region_id);
39 LOGD(LOG_TAG, "endpoint = %s;\n", endpoint);
40 LOGD(LOG_TAG, "url = %s;\n", url);
41 IHaasML* mIHaasML = (IHaasML*)instance;
42 if (mIHaasML == NULL)
43 {
44 LOGD(LOG_TAG, "mIHaasML is NULL %s;\n", __func__);
45 return -1;
46 }
47 int ret = mIHaasML->Config(key, secret, region_id, endpoint, url);
48 return ret;
49 }
50
MLSetInputData(void * instance,const char * dataPath)51 int MLSetInputData(void* instance, const char* dataPath)
52 {
53 LOGD(LOG_TAG, "entern %s;\n", __func__);
54 IHaasML* mIHaasML = (IHaasML*)instance;
55 if (mIHaasML == NULL)
56 {
57 LOGD(LOG_TAG, "mIHaasML is NULL %s;\n", __func__);
58 return -1;
59 }
60 int ret = mIHaasML->SetInputData(dataPath);
61 return ret;
62 }
63
MLLoadNet(void * instance,const char * modePath)64 int MLLoadNet(void* instance, const char* modePath)
65 {
66 LOGD(LOG_TAG, "entern %s;\n", __func__);
67 IHaasML* mIHaasML = (IHaasML*)instance;
68 if (mIHaasML == NULL)
69 {
70 LOGD(LOG_TAG, "mIHaasML is NULL %s;\n", __func__);
71 return -1;
72 }
73 int ret = mIHaasML->LoadNet(modePath);
74 return ret;
75 }
76
MLPredict(void * instance)77 int MLPredict(void* instance)
78 {
79 LOGD(LOG_TAG, "entern %s;\n", __func__);
80 IHaasML* mIHaasML = (IHaasML*)instance;
81 if (mIHaasML == NULL)
82 {
83 LOGD(LOG_TAG, "mIHaasML is NULL %s;\n", __func__);
84 return -1;
85 }
86 int ret = mIHaasML->Predict();
87 return ret;
88 }
89
MLGetPredictResponses(void * instance,char * outResult,int len)90 int MLGetPredictResponses(void* instance, char* outResult, int len)
91 {
92 LOGD(LOG_TAG, "entern %s;\n", __func__);
93 IHaasML* mIHaasML = (IHaasML*)instance;
94 if (mIHaasML == NULL)
95 {
96 LOGD(LOG_TAG, "mIHaasML is NULL %s;\n", __func__);
97 return -1;
98 }
99 int ret = mIHaasML->GetPredictResponses(outResult, len);
100 LOGD(LOG_TAG, "out %s; ret = %d;\n", __func__, ret);
101 return ret;
102 }
103
MLUnLoadNet(void * instance)104 int MLUnLoadNet(void* instance)
105 {
106 LOGD(LOG_TAG, "entern %s;\n", __func__);
107 IHaasML* mIHaasML = (IHaasML*)instance;
108 if (mIHaasML == NULL)
109 {
110 LOGD(LOG_TAG, "mIHaasML is NULL %s;\n", __func__);
111 return -1;
112 }
113 int ret = mIHaasML->UnLoadNet();
114 return ret;
115 }
116
117