test: Add NNStreamer's ML Single API backend test cases 30/236330/3 accepted/tizen/unified/20200628.221641 submit/tizen/20200626.050805 submit/tizen/20200626.060446 submit/tizen/20200626.070253
authorInki Dae <inki.dae@samsung.com>
Tue, 16 Jun 2020 08:27:52 +0000 (17:27 +0900)
committerInki Dae <inki.dae@samsung.com>
Thu, 18 Jun 2020 07:25:58 +0000 (16:25 +0900)
Change-Id: I8d0d4f4163328ad6907f8e4fb99b0d4832127e84
Signed-off-by: Inki Dae <inki.dae@samsung.com>
test/src/inference_engine_tc.cpp

index cdffce7..337e83e 100644 (file)
@@ -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
+                                                               ));