From: Inki Dae Date: Tue, 16 Jun 2020 08:27:52 +0000 (+0900) Subject: test: Add NNStreamer's ML Single API backend test cases X-Git-Tag: submit/tizen/20200626.050805^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e6632fc926743478461cf61722044845d7fad042;p=platform%2Fcore%2Fmultimedia%2Finference-engine-interface.git test: Add NNStreamer's ML Single API backend test cases Change-Id: I8d0d4f4163328ad6907f8e4fb99b0d4832127e84 Signed-off-by: Inki Dae --- diff --git a/test/src/inference_engine_tc.cpp b/test/src/inference_engine_tc.cpp index cdffce7..337e83e 100644 --- a/test/src/inference_engine_tc.cpp +++ b/test/src/inference_engine_tc.cpp @@ -80,6 +80,14 @@ static auto InferenceEngineInit_Two_Params = [](InferenceEngineCommon *engine, int &target_devices) -> int { inference_engine_config config = { backend_name, 0, target_devices }; + // backend_type is valid only in case backend_name is "mlapi". + if (!backend_name.compare("mlapi")) { + if (!(target_devices & INFERENCE_TARGET_CUSTOM)) + config.backend_type = INFERENCE_BACKEND_ONE; + else + config.backend_type = INFERENCE_BACKEND_MLAPI; + } + int ret = engine->BindBackend(&config); if (ret != INFERENCE_ENGINE_ERROR_NONE) return ret; @@ -681,7 +689,9 @@ INSTANTIATE_TEST_CASE_P(Prefix, InferenceEngineTestCase_G1, // TFLITE. ParamType_One("tflite"), // OPENCV - ParamType_One("opencv") + ParamType_One("opencv"), + // ML Single API for NNStreamer. + ParamType_One("mlapi") /* TODO */ )); @@ -692,8 +702,10 @@ INSTANTIATE_TEST_CASE_P(Prefix, InferenceEngineTestCase_G2, ParamType_Two("armnn", INFERENCE_TARGET_CPU), // TFLITE. ParamType_Two("tflite", INFERENCE_TARGET_CPU), - // OPENCV, - ParamType_Two("opencv", INFERENCE_TARGET_CPU) + // OPENCV. + ParamType_Two("opencv", INFERENCE_TARGET_CPU), + // ML Single API for NNStreamer. + ParamType_Two("mlapi", INFERENCE_TARGET_CPU) /* TODO */ )); @@ -714,7 +726,11 @@ INSTANTIATE_TEST_CASE_P( ParamType_Three( "opencv", INFERENCE_TARGET_CPU, { "/usr/share/capi-media-vision/models/IC/caffe/ic_caffe_model_squeezenet.caffemodel", - "/usr/share/capi-media-vision/models/IC/caffe/ic_caffe_model_squeezenet.prototxt" }) + "/usr/share/capi-media-vision/models/IC/caffe/ic_caffe_model_squeezenet.prototxt" }), + // ML Single API for NNStreamer. + ParamType_Three( + "mlapi", INFERENCE_TARGET_CPU, + { "/usr/share/capi-media-vision/models/IC_Q/tflite/ic_tflite_model.tflite" }) /* TODO */ )); @@ -731,6 +747,9 @@ INSTANTIATE_TEST_CASE_P( 224, 3, { "test_name" }), // OPENCV. ParamType_Six("opencv", INFERENCE_TENSOR_DATA_TYPE_FLOAT32, 224, + 224, 3, { "test_name" }), + // ML Single API for NNStreamer. + ParamType_Six("mlapi", INFERENCE_TENSOR_DATA_TYPE_UINT8, 224, 224, 3, { "test_name" }) /* TODO */ )); @@ -769,6 +788,16 @@ INSTANTIATE_TEST_CASE_P( ParamType_Six("opencv", INFERENCE_TENSOR_DATA_TYPE_FLOAT32, 224, 224, 0, { "test_name" }), ParamType_Six("opencv", INFERENCE_TENSOR_DATA_TYPE_FLOAT32, 224, + 224, 3, { "" }), + // ML Single API for NNStreamer. + ParamType_Six("mlapi", -1, 224, 224, 3, { "test_name" }), + ParamType_Six("mlapi", INFERENCE_TENSOR_DATA_TYPE_UINT8, 0, + 224, 3, { "test_name" }), + ParamType_Six("mlapi", INFERENCE_TENSOR_DATA_TYPE_UINT8, 224, + 0, 3, { "test_name" }), + ParamType_Six("mlapi", INFERENCE_TENSOR_DATA_TYPE_UINT8, 224, + 224, 0, { "test_name" }), + ParamType_Six("mlapi", INFERENCE_TENSOR_DATA_TYPE_UINT8, 224, 224, 3, { "" }) /* TODO */ )); @@ -806,6 +835,15 @@ INSTANTIATE_TEST_CASE_P( { "/usr/share/capi-media-vision/models/IC/caffe/ic_caffe_model_squeezenet.caffemodel", "/usr/share/capi-media-vision/models/IC/caffe/ic_caffe_model_squeezenet.prototxt" }, { 281 }), + // ML Single API for NNStreamer. + ParamType_Many( + "mlapi", INFERENCE_ENGINE_PROFILER_OFF, + INFERENCE_TARGET_CPU, TEST_IMAGE_CLASSIFICATION, 10, + INFERENCE_TENSOR_DATA_TYPE_UINT8, + { "/opt/usr/images/image_classification_q.bin" }, + 224, 224, 3, { "input" }, { "MobilenetV1/Predictions/Reshape_1" }, + { "/usr/share/capi-media-vision/models/IC_Q/tflite/ic_tflite_model.tflite" }, + { 955 }), // ARMNN. ParamType_Many( "armnn", INFERENCE_ENGINE_PROFILER_FILE, @@ -834,6 +872,15 @@ INSTANTIATE_TEST_CASE_P( { "/usr/share/capi-media-vision/models/IC/caffe/ic_caffe_model_squeezenet.caffemodel", "/usr/share/capi-media-vision/models/IC/caffe/ic_caffe_model_squeezenet.prototxt" }, { 281 }), + // ML Single API for NNStreamer. + ParamType_Many( + "mlapi", INFERENCE_ENGINE_PROFILER_FILE, + INFERENCE_TARGET_CPU, TEST_IMAGE_CLASSIFICATION, 10, + INFERENCE_TENSOR_DATA_TYPE_UINT8, + { "/opt/usr/images/image_classification_q.bin" }, + 224, 224, 3, { "input" }, { "MobilenetV1/Predictions/Reshape_1" }, + { "/usr/share/capi-media-vision/models/IC_Q/tflite/ic_tflite_model.tflite" }, + { 955 }), // ARMNN. ParamType_Many( "armnn", INFERENCE_ENGINE_PROFILER_CONSOLE, @@ -861,7 +908,16 @@ INSTANTIATE_TEST_CASE_P( 227, 227, 3, { "data" }, { "prob" }, { "/usr/share/capi-media-vision/models/IC/caffe/ic_caffe_model_squeezenet.caffemodel", "/usr/share/capi-media-vision/models/IC/caffe/ic_caffe_model_squeezenet.prototxt" }, - { 281 }) + { 281 }), + // ML Single API for NNStreamer. + ParamType_Many( + "mlapi", INFERENCE_ENGINE_PROFILER_CONSOLE, + INFERENCE_TARGET_CPU, TEST_IMAGE_CLASSIFICATION, 10, + INFERENCE_TENSOR_DATA_TYPE_UINT8, + { "/opt/usr/images/image_classification_q.bin" }, + 224, 224, 3, { "input" }, { "MobilenetV1/Predictions/Reshape_1" }, + { "/usr/share/capi-media-vision/models/IC_Q/tflite/ic_tflite_model.tflite" }, + { 955 }) /* TODO */ )); @@ -873,7 +929,11 @@ INSTANTIATE_TEST_CASE_P(Prefix, InferenceEngineTestCase_G7, // TFLITE. ParamType_One_Int(INFERENCE_BACKEND_TFLITE), // OPENCV. - ParamType_One_Int(INFERENCE_BACKEND_OPENCV) + ParamType_One_Int(INFERENCE_BACKEND_OPENCV), + // ML Single API for NNStreamer with On-device Neural Engine tensor filter. + ParamType_One_Int(INFERENCE_BACKEND_ONE), + // ML Single API for NNStreamer with Vinvante NPU. + ParamType_One_Int(INFERENCE_BACKEND_MLAPI) /* TODO */ )); @@ -883,4 +943,4 @@ INSTANTIATE_TEST_CASE_P(Prefix, InferenceEngineTestCase_G8, // Wrong backend type. ParamType_One_Int(-1) /* TODO */ - )); \ No newline at end of file + ));