From a3a446c1975f416420f145a86fc10dfca099d741 Mon Sep 17 00:00:00 2001 From: Dmitry Kurtaev Date: Tue, 17 Oct 2017 17:13:33 +0300 Subject: [PATCH] Output blobs shapes initialization in case of identity permutation (NCHW->NCHW) --- modules/dnn/src/layers/permute_layer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/dnn/src/layers/permute_layer.cpp b/modules/dnn/src/layers/permute_layer.cpp index 871c6779e1..fcebc9bb66 100644 --- a/modules/dnn/src/layers/permute_layer.cpp +++ b/modules/dnn/src/layers/permute_layer.cpp @@ -117,7 +117,10 @@ public: std::vector &internals) const { if(!_needsPermute) + { + Layer::getMemoryShapes(inputs, requiredOutputs, outputs, internals); return true; + } CV_Assert(inputs.size() > 0); CV_Assert((int)_numAxes == inputs[0].size()); @@ -253,7 +256,11 @@ public: if(!_needsPermute) { for (k = 0; k < ninputs; k++) - outputs[k] = *inputs[k]; + { + CV_Assert(outputs[k].total() == inputs[k]->total()); + if (outputs[k].data != inputs[k]->data) + inputs[k]->copyTo(outputs[k]); + } } else {