From a9994af9bd4f567c32bb91f0c4d3a66e9afafddf Mon Sep 17 00:00:00 2001 From: Inki Dae Date: Thu, 25 Nov 2021 10:04:17 +0900 Subject: [PATCH] add SNPE inference engine support [Version] : 0.2.0-0 [Issue type] : new feature Change-Id: Ia956f7bdbaab8c9683d086b7221fc439110bd779 Signed-off-by: Inki Dae --- include/inference_engine_type.h | 2 ++ packaging/inference-engine-interface.spec | 2 +- src/inference_engine_common_impl.cpp | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/inference_engine_type.h b/include/inference_engine_type.h index 3b485ba..e4cc6d1 100644 --- a/include/inference_engine_type.h +++ b/include/inference_engine_type.h @@ -45,6 +45,7 @@ extern "C" INFERENCE_BACKEND_MLAPI, /** < ML Single API of NNStreamer.*/ INFERENCE_BACKEND_ONE, /** < On-device Neural Engine. */ INFERENCE_BACKEND_NNTRAINER, /** < NNTrainer. */ + INFERENCE_BACKEND_SNPE, /** < SNPE. */ INFERENCE_BACKEND_MAX /**< Backend MAX */ } inference_backend_type_e; @@ -79,6 +80,7 @@ extern "C" INFERENCE_MODEL_ONNX, /**< ONNX */ INFERENCE_MODEL_VIVANTE, /**< Vivante. model specific so library and nb model files are needed. */ INFERENCE_MODEL_NNTRAINER, /**< NNTrainer. only *.ini file is used. */ + INFERENCE_MODEL_SNPE, /**< SNPE. only *.dlc file is used. */ INFERENCE_MODEL_MAX } inference_model_format_e; diff --git a/packaging/inference-engine-interface.spec b/packaging/inference-engine-interface.spec index 24384ce..2777a33 100644 --- a/packaging/inference-engine-interface.spec +++ b/packaging/inference-engine-interface.spec @@ -1,6 +1,6 @@ Name: inference-engine-interface Summary: Interface of inference engines -Version: 0.1.4 +Version: 0.2.0 Release: 0 Group: Multimedia/Framework License: Apache-2.0 diff --git a/src/inference_engine_common_impl.cpp b/src/inference_engine_common_impl.cpp index a5977aa..7658a1e 100644 --- a/src/inference_engine_common_impl.cpp +++ b/src/inference_engine_common_impl.cpp @@ -100,6 +100,7 @@ namespace Common device_type == INFERENCE_TARGET_CUSTOM || backend_type == INFERENCE_BACKEND_ONE || backend_type == INFERENCE_BACKEND_NNTRAINER || + backend_type == INFERENCE_BACKEND_SNPE || (backend_type == INFERENCE_BACKEND_TFLITE && sApiFwForTFLITE == INFERENCE_BACKEND_MLAPI) || (backend_type == INFERENCE_BACKEND_ARMNN && sApiFwForARMNN == INFERENCE_BACKEND_MLAPI)) return 1; @@ -384,6 +385,7 @@ namespace Common BackendTable.insert(std::make_pair("mlapi",INFERENCE_BACKEND_MLAPI)); BackendTable.insert(std::make_pair("one",INFERENCE_BACKEND_ONE)); BackendTable.insert(std::make_pair("nntrainer", INFERENCE_BACKEND_NNTRAINER)); + BackendTable.insert(std::make_pair("snpe", INFERENCE_BACKEND_SNPE)); config->backend_type = BackendTable[config->backend_name]; } -- 2.34.1