From 5caee5cc64465be76d9e279703dae1216a527e3b Mon Sep 17 00:00:00 2001 From: Alexander Smorkalov Date: Fri, 29 Sep 2023 15:52:23 +0300 Subject: [PATCH] Fixed OpenCL PF16 fallback in Einsum layer. --- modules/dnn/src/layers/einsum_layer.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/dnn/src/layers/einsum_layer.cpp b/modules/dnn/src/layers/einsum_layer.cpp index cfa06e375e..2cfb36da13 100644 --- a/modules/dnn/src/layers/einsum_layer.cpp +++ b/modules/dnn/src/layers/einsum_layer.cpp @@ -38,7 +38,6 @@ Mat batchwiseMatMul( const Mat& input2, const MatShape& input2ShapeOverride) { - // Sanity checks before the actual MatMul //input_1.DataType() == input_2.DataType(), "Data types of the inputs must match for MatMul"); @@ -391,6 +390,15 @@ public: OutputArrayOfArrays outputs_arr, OutputArrayOfArrays internals_arr) CV_OVERRIDE { + CV_TRACE_FUNCTION(); + CV_TRACE_ARG_VALUE(name, "name", name.c_str()); + + if (inputs_arr.depth() == CV_16S) + { + forward_fallback(inputs_arr, outputs_arr, internals_arr); + return; + } + // homogenize inputs preProcessInputs(inputs_arr);