dnn: disable OpenCL code path in MatMul processing
authorAlexander Alekhin <a.alekhin@yadro.com>
Tue, 20 Dec 2022 09:46:48 +0000 (09:46 +0000)
committerAlexander Alekhin <a.alekhin@yadro.com>
Tue, 20 Dec 2022 09:46:48 +0000 (09:46 +0000)
- this mode is not supported by 22828

modules/dnn/src/layers/fully_connected_layer.cpp
modules/dnn/test/test_onnx_importer.cpp

index 321994cbb753c7f44e8514e3390bab3e6dca3669..505ea460d56905d50cdb903bd37fb9047975fa1a 100644 (file)
@@ -510,7 +510,7 @@ public:
         CV_TRACE_FUNCTION();
         CV_TRACE_ARG_VALUE(name, "name", name.c_str());
 
-        CV_OCL_RUN(IS_DNN_OPENCL_TARGET(preferableTarget),
+        CV_OCL_RUN(IS_DNN_OPENCL_TARGET(preferableTarget) && !isMatMul,
                    forward_ocl(inputs_arr, outputs_arr, internals_arr))
 
         if (inputs_arr.depth() == CV_16S)
index e8350e418d587109a64c1cbdd93e13c73456e16b..4546dccbb88ab8f3f7b542da6eaa40e9e25f1e5b 100644 (file)
@@ -904,23 +904,37 @@ TEST_P(Test_ONNX_layers, Multiplication)
     testONNXModels("mul");
 }
 
-TEST_P(Test_ONNX_layers, MatMul)
+TEST_P(Test_ONNX_layers, MatMul_2d)
 {
-    if (backend == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019)
-        applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER);
-
     testONNXModels("matmul_2d");
+}
+TEST_P(Test_ONNX_layers, MatMul_3d)
+{
     testONNXModels("matmul_3d");
+}
+TEST_P(Test_ONNX_layers, MatMul_4d)
+{
     testONNXModels("matmul_4d");
 }
 
-TEST_P(Test_ONNX_layers, MatMul_init)
+TEST_P(Test_ONNX_layers, MatMul_2d_init)
 {
     testONNXModels("matmul_2d_init");
+}
+TEST_P(Test_ONNX_layers, MatMul_3d_init)
+{
     testONNXModels("matmul_3d_init");
+}
+TEST_P(Test_ONNX_layers, MatMul_4d_init)
+{
     testONNXModels("matmul_4d_init");
-
+}
+TEST_P(Test_ONNX_layers, MatMul_init_2)
+{
     testONNXModels("matmul_init_2");
+}
+TEST_P(Test_ONNX_layers, MatMul_init_bcast)
+{
     testONNXModels("matmul_init_bcast");
 }