1 2 #include "base/modules/ml/include/HaasML.h" 3 #include "ulog/ulog.h" 4 #include "base/modules/core/include/HaasErrno.h" 5 #include "base/modules/ml/include/HaasMLCloud.h" 6 #include "base/modules/ml/include/HaasMLMnn.h" 7 8 #define LOG_TAG "HAASML" 9 10 extern "C" { IHaasMLInstance(MLEngineType_t type)11 IHaasML* IHaasMLInstance(MLEngineType_t type) 12 { 13 LOGD(LOG_TAG, "entern type = %d;\n", type); 14 IHaasML* mIHaasML = NULL; 15 switch (type) 16 { 17 case ML_ENGINE_MNN: 18 LOGD(LOG_TAG, "HaasMLMnn type = %d;\n", type); 19 mIHaasML = new HaasMLMnn(); 20 break; 21 case ML_ENGINE_CLOUD: 22 LOGD(LOG_TAG, "HaasMLCloud type = %d;\n", type); 23 mIHaasML = new HaasMLCloud(); 24 break; 25 case ML_ENGINE_ODLA: 26 LOGD(LOG_TAG, "HaasMLOlda type = %d;\n", type); 27 //mIHaasML = new HaasMLOlda(); 28 mIHaasML = NULL; 29 break; 30 default: 31 LOGD(LOG_TAG, "illegal type = %d;\n", type); 32 mIHaasML = NULL; 33 } 34 LOGD(LOG_TAG, "out type = %d;\n", type); 35 return mIHaasML; 36 } 37 } 38