From e35fd463e71a0cc6c517a27d15d7ec7530d51e5f Mon Sep 17 00:00:00 2001 From: Dmitry Kurtaev Date: Wed, 2 Oct 2019 14:05:41 +0300 Subject: [PATCH] Enable ENet with Inference Engine backend on CPU --- modules/dnn/src/layers/pooling_layer.cpp | 2 ++ modules/dnn/test/test_onnx_importer.cpp | 6 +++--- modules/dnn/test/test_torch_importer.cpp | 12 +++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/modules/dnn/src/layers/pooling_layer.cpp b/modules/dnn/src/layers/pooling_layer.cpp index 060bf96..380178d 100644 --- a/modules/dnn/src/layers/pooling_layer.cpp +++ b/modules/dnn/src/layers/pooling_layer.cpp @@ -162,6 +162,8 @@ public: { if (backendId == DNN_BACKEND_INFERENCE_ENGINE) { + if (computeMaxIdx) + return false; #ifdef HAVE_INF_ENGINE if (kernel_size.size() == 3) return preferableTarget == DNN_TARGET_CPU; diff --git a/modules/dnn/test/test_onnx_importer.cpp b/modules/dnn/test/test_onnx_importer.cpp index e71a4d6..0d92c8d 100644 --- a/modules/dnn/test/test_onnx_importer.cpp +++ b/modules/dnn/test/test_onnx_importer.cpp @@ -86,8 +86,8 @@ TEST_P(Test_ONNX_layers, InstanceNorm) TEST_P(Test_ONNX_layers, MaxPooling) { - testONNXModels("maxpooling"); - testONNXModels("two_maxpooling"); + testONNXModels("maxpooling", npy, 0, 0, false, false); + testONNXModels("two_maxpooling", npy, 0, 0, false, false); } TEST_P(Test_ONNX_layers, Convolution) @@ -212,7 +212,7 @@ TEST_P(Test_ONNX_layers, MaxPooling3D) #endif if (target != DNN_TARGET_CPU) throw SkipTestException("Only CPU is supported"); - testONNXModels("max_pool3d"); + testONNXModels("max_pool3d", npy, 0, 0, false, false); } TEST_P(Test_ONNX_layers, AvePooling3D) diff --git a/modules/dnn/test/test_torch_importer.cpp b/modules/dnn/test/test_torch_importer.cpp index de81093..3e0ab75 100644 --- a/modules/dnn/test/test_torch_importer.cpp +++ b/modules/dnn/test/test_torch_importer.cpp @@ -337,9 +337,15 @@ TEST_P(Test_Torch_nets, ENet_accuracy) { applyTestTag(target == DNN_TARGET_CPU ? "" : CV_TEST_TAG_MEMORY_512MB); checkBackend(); - if (backend == DNN_BACKEND_INFERENCE_ENGINE || - (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)) - applyTestTag(target == DNN_TARGET_OPENCL ? CV_TEST_TAG_DNN_SKIP_IE_OPENCL : CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16); + if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16) + throw SkipTestException(""); + if (backend == DNN_BACKEND_INFERENCE_ENGINE && target != DNN_TARGET_CPU) + { + if (target == DNN_TARGET_OPENCL_FP16) applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16); + if (target == DNN_TARGET_OPENCL) applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL); + if (target == DNN_TARGET_MYRIAD) applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_MYRIAD); + throw SkipTestException(""); + } Net net; { -- 2.7.4