test: Add verification code for CLTuner feature
authorInki Dae <inki.dae@samsung.com>
Sun, 7 Feb 2021 23:53:45 +0000 (08:53 +0900)
committerInki Dae <inki.dae@samsung.com>
Thu, 25 Mar 2021 02:18:18 +0000 (11:18 +0900)
Added verification cases for CLTuner feature, which
verify other reference models, quantized image classification,
object detection, face detection and pose estimation.

Change-Id: I250152282ee3364865c9d10d020aead687eeb0d9
Signed-off-by: Inki Dae <inki.dae@samsung.com>
test/src/inference_engine_profiler.cpp

index 51000f3..11aeffd 100644 (file)
                        active, update, mode,                                                                                                   \
                        PARAM_TYPE_TFLITE_IC_INFER(backend, device, iter)
 
+#define PARAM_TYPE_TFLITE_IC_Q_CLTUNER(active, update, mode, backend, device, iter)    \
+                       active, update, mode,                                                                                                   \
+                       PARAM_TYPE_TFLITE_IC_Q_INFER(backend, device, iter)
+
+#define PARAM_TYPE_TFLITE_OD_CLTUNER(active, update, mode, backend, device, iter)      \
+                       active, update, mode,                                                                                                   \
+                       PARAM_TYPE_TFLITE_OD_INFER(backend, device, iter)
+
+#define PARAM_TYPE_TFLITE_FD_CLTUNER(active, update, mode, backend, device, iter)      \
+                       active, update, mode,                                                                                                   \
+                       PARAM_TYPE_TFLITE_FD_INFER(backend, device, iter)
+
+#define PARAM_TYPE_TFLITE_PE_CLTUNER(active, update, mode, backend, device, iter)      \
+                       active, update, mode,                                                                                                   \
+                       PARAM_TYPE_TFLITE_PE_INFER(backend, device, iter)
+
 typedef std::tuple<std::string, int, int, int, int, std::vector<std::string>,
                                   int, int, int, std::vector<std::string>,
                                   std::vector<std::string>, std::vector<std::string>,
@@ -1029,7 +1045,63 @@ INSTANTIATE_TEST_CASE_P(
                                ParamType_CLTuner(
                                                PARAM_TYPE_TFLITE_IC_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_EXHAUSTIVE, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
                                ParamType_CLTuner(
-                                               PARAM_TYPE_TFLITE_IC_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION))
+                                               PARAM_TYPE_TFLITE_IC_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+
+                               // quantized mobilenet based image classification test
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_IC_Q_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_RAPID, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_IC_Q_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_IC_Q_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_NORMAL, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_IC_Q_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_IC_Q_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_EXHAUSTIVE, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_IC_Q_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+
+                               // object detection test
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_OD_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_RAPID, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_OD_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_OD_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_NORMAL, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_OD_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_OD_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_EXHAUSTIVE, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_OD_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+
+                               // face detection test
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_FD_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_RAPID, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_FD_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_FD_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_NORMAL, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_FD_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_FD_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_EXHAUSTIVE, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_FD_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+
+                               // pose estimation test
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_PE_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_RAPID, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_PE_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_PE_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_NORMAL, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_PE_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_PE_CLTUNER(true, true, INFERENCE_ENGINE_CLTUNER_EXHAUSTIVE, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION)),
+                               ParamType_CLTuner(
+                                               PARAM_TYPE_TFLITE_PE_CLTUNER(true, false, INFERENCE_ENGINE_CLTUNER_READ, "armnn", INFERENCE_TARGET_GPU, INFERENCE_ITERATION))
                                /* TODO */
                                ));