From c408157a4def11d1e00d8d43565b04572c11c048 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Thu, 23 Dec 2021 02:37:45 +0000 Subject: [PATCH] dnn: do not try to rebuilt network during setInput() - this doesn't make sense in case of multiple inputs --- modules/dnn/src/dnn.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/dnn/src/dnn.cpp b/modules/dnn/src/dnn.cpp index b35dda9..65b8205 100644 --- a/modules/dnn/src/dnn.cpp +++ b/modules/dnn/src/dnn.cpp @@ -1339,6 +1339,11 @@ struct Net::Impl : public detail::NetImplBase #endif clear(); + if (hasDynamicShapes) + { + updateLayersShapes(); + } + this->blobsToKeep = blobsToKeep_; allocateLayers(blobsToKeep_); @@ -3886,13 +3891,8 @@ void Net::setInput(InputArray blob, const String& name, double scalefactor, cons bool oldShape = prevShape == blobShape; blob_.copyTo(impl->netInputLayer->inputsData[pin.oid]); - if (!oldShape) { + if (!oldShape) ld.outputBlobs[pin.oid] = impl->netInputLayer->inputsData[pin.oid]; - if (impl->hasDynamicShapes) - { - impl->updateLayersShapes(); - } - } if (!ld.outputBlobsWrappers[pin.oid].empty()) { -- 2.7.4