diff --git a/modules/dnn/src/layer.cpp b/modules/dnn/src/layer.cpp index f1f1a42e59..6d42cbd867 100644 --- a/modules/dnn/src/layer.cpp +++ b/modules/dnn/src/layer.cpp @@ -260,12 +260,14 @@ void Layer::getTypes(const std::vector&inputs, { CV_Assert(inputs.size()); for (auto input : inputs) + { if (preferableTarget == DNN_TARGET_CUDA_FP16 || preferableTarget == DNN_TARGET_CUDA) CV_CheckTypeEQ(input, CV_32F, ""); else if (preferableTarget == DNN_TARGET_OPENCL_FP16) CV_CheckType(input, input == CV_16F || input == CV_8S, ""); else CV_CheckType(input, input == CV_32F || input == CV_8S, ""); + } outputs.assign(requiredOutputs, inputs[0]); internals.assign(requiredInternals, inputs[0]); diff --git a/modules/dnn/src/layers/permute_layer.cpp b/modules/dnn/src/layers/permute_layer.cpp index df2706b8f0..cd07c4da73 100644 --- a/modules/dnn/src/layers/permute_layer.cpp +++ b/modules/dnn/src/layers/permute_layer.cpp @@ -186,12 +186,14 @@ public: { CV_Assert(inputs.size()); for (auto input : inputs) + { if (preferableTarget == DNN_TARGET_CUDA_FP16 || preferableTarget == DNN_TARGET_CUDA) CV_CheckTypeEQ(input, CV_32F, "Unsupported type"); else if (preferableTarget == DNN_TARGET_OPENCL_FP16) CV_CheckType(input, input == CV_16F || input == CV_8S || input == CV_32S, ""); else CV_CheckType(input, input == CV_32F || input == CV_8S || input == CV_32S, ""); + } outputs.assign(requiredOutputs, inputs[0]); } diff --git a/modules/dnn/src/layers/reorg_layer.cpp b/modules/dnn/src/layers/reorg_layer.cpp index 489234ae1e..5d6a694849 100644 --- a/modules/dnn/src/layers/reorg_layer.cpp +++ b/modules/dnn/src/layers/reorg_layer.cpp @@ -109,12 +109,14 @@ public: { CV_Assert(inputs.size()); for (auto input : inputs) + { if (preferableTarget == DNN_TARGET_CUDA_FP16 || preferableTarget == DNN_TARGET_CUDA) CV_CheckTypeEQ(input, CV_32F, "Unsupported type for CUDA"); else if (preferableTarget == DNN_TARGET_OPENCL_FP16) CV_CheckType(input, input == CV_16F || input == CV_8S || input == CV_32S || input == CV_64S, ""); else CV_CheckType(input, input == CV_32F || input == CV_8S || input == CV_32S || input == CV_64S, ""); + } outputs.assign(requiredOutputs, inputs[0]); } diff --git a/modules/dnn/src/layers/reshape_layer.cpp b/modules/dnn/src/layers/reshape_layer.cpp index 2e35f050fc..cdd96d139b 100644 --- a/modules/dnn/src/layers/reshape_layer.cpp +++ b/modules/dnn/src/layers/reshape_layer.cpp @@ -267,12 +267,14 @@ public: { CV_Assert(inputs.size()); for (auto input : inputs) + { if (preferableTarget == DNN_TARGET_CUDA_FP16 || preferableTarget == DNN_TARGET_CUDA) CV_CheckTypeEQ(input, CV_32F, "Unsupported type"); else if (preferableTarget == DNN_TARGET_OPENCL_FP16) CV_CheckType(input, input == CV_16F || input == CV_8S || input == CV_32S || input == CV_64S, ""); else CV_CheckType(input, input == CV_32F || input == CV_8S || input == CV_32S || input == CV_64S, ""); + } outputs.assign(requiredOutputs, inputs[0]); } diff --git a/modules/dnn/src/layers/slice_layer.cpp b/modules/dnn/src/layers/slice_layer.cpp index d1d77631f4..19b8d1cc43 100644 --- a/modules/dnn/src/layers/slice_layer.cpp +++ b/modules/dnn/src/layers/slice_layer.cpp @@ -286,12 +286,14 @@ public: { CV_CheckEQ(inputs.size(), (size_t)1, ""); for (auto input : inputs) + { if (preferableTarget == DNN_TARGET_CUDA_FP16 || preferableTarget == DNN_TARGET_CUDA) CV_CheckEQ(input, CV_32F, "Unsupported type"); else if (preferableTarget == DNN_TARGET_OPENCL_FP16) CV_CheckType(input, input == CV_16F || input == CV_8S || input == CV_32S || input == CV_64S, ""); else CV_CheckType(input, input == CV_32F || input == CV_8S || input == CV_32S || input == CV_64S, ""); + } outputs.assign(requiredOutputs, inputs[0]); } @@ -908,12 +910,14 @@ public: { CV_CheckEQ(inputs.size(), (size_t)2, ""); for (auto input : inputs) + { if (preferableTarget == DNN_TARGET_CUDA_FP16 || preferableTarget == DNN_TARGET_CUDA) CV_CheckTypeEQ(input, CV_32F, "Unsupported type"); else if (preferableTarget == DNN_TARGET_OPENCL_FP16) CV_CheckType(input, input == CV_16F || input == CV_8S || input == CV_32S || input == CV_64S, ""); else CV_CheckType(input, input == CV_32F || input == CV_8S || input == CV_32S || input == CV_64S, ""); + } outputs.assign(requiredOutputs, inputs[0]); }