From: Dmitry Kurtaev Date: Thu, 5 Dec 2019 16:25:51 +0000 (+0300) Subject: Backport fix for autodetection of input shapes X-Git-Tag: accepted/tizen/6.0/unified/20201030.111113~1^2~20^2~22^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=134094a442f2944ccb3605e2f836f3747295acbc;p=platform%2Fupstream%2Fopencv.git Backport fix for autodetection of input shapes --- diff --git a/modules/dnn/src/dnn.cpp b/modules/dnn/src/dnn.cpp index 83b6b9f..cd51282 100644 --- a/modules/dnn/src/dnn.cpp +++ b/modules/dnn/src/dnn.cpp @@ -2772,17 +2772,25 @@ struct Net::Impl { std::vector& inputLayerIds = layers[id].inputBlobsId; - if (inOutShapes[0].in[0].empty() && !layers[0].outputBlobs.empty()) + if (id == 0 && inOutShapes[id].in[0].empty()) { - ShapesVec shapes; - for (int i = 0; i < layers[0].outputBlobs.size(); i++) + if (!layers[0].outputBlobs.empty()) { - Mat& inp = layers[0].outputBlobs[i]; - CV_Assert(inp.total()); - shapes.push_back(shape(inp)); + ShapesVec shapes; + for (int i = 0; i < layers[0].outputBlobs.size(); i++) + { + Mat& inp = layers[0].outputBlobs[i]; + CV_Assert(inp.total()); + shapes.push_back(shape(inp)); + } + inOutShapes[0].in = shapes; } - inOutShapes[0].in = shapes; - } + else + { + inOutShapes[0].out.clear(); + return; + } + } if (inOutShapes[id].in.empty()) {