Skip to content

Commit 331412d

Browse files
authored
Merge pull request opencv#26357 from dkurt:dkurt/ov_out_names_from_graph
OpenVINO friendly output names from non-compiled Model
2 parents 898a2a3 + d193554 commit 331412d

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

modules/dnn/src/ie_ngraph.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,9 @@ void InfEngineNgraphNet::createNet(Target targetId) {
162162
CV_LOG_DEBUG(NULL, "DNN/NGRAPH: Add 'Result' output: " << output_node_it->first);
163163
CV_Assert(output_node_it->second);
164164
auto out = std::make_shared<ov::op::v0::Result>(output_node_it->second->node);
165-
out->set_friendly_name(output_node_it->first + (output_node_it->second->node.get_node()->get_output_size() == 1 ? "" : ".0"));
165+
std::string name = output_node_it->first + (output_node_it->second->node.get_node()->get_output_size() == 1 ? "" : ".0")
166+
CV_LOG_DEBUG(NULL, "DNN-IE: Change friendly name from " << out->get_friendly_name() << " to " << name);
167+
out->set_friendly_name(name);
166168
outs.push_back(out);
167169
}
168170
CV_Assert_N(!inputs_vec.empty(), !outs.empty());
@@ -546,16 +548,22 @@ void InfEngineNgraphNet::forward(const std::vector<Ptr<BackendWrapper> >& outBlo
546548
{
547549
const std::string& name = it.get_node()->get_friendly_name();
548550
auto blobIt = allBlobs.find(name);
549-
CV_Assert(blobIt != allBlobs.end());
551+
if (blobIt == allBlobs.end())
552+
{
553+
CV_Error(Error::StsAssert, format("Input blob with name %s not found", name.c_str()));
554+
}
550555
reqWrapper->req.set_input_tensor(i++, isAsync ? copyBlob(blobIt->second) : blobIt->second);
551556
}
552557

553558
i = 0;
554-
for (const auto& it : netExec.outputs())
559+
for (const auto& it : cnn->outputs()) // Starts from OpenVINO 2024 CompiledModel changes output frindly names
555560
{
556561
const std::string& name = it.get_node()->get_friendly_name();
557562
auto blobIt = allBlobs.find(name);
558-
CV_Assert(blobIt != allBlobs.end());
563+
if (blobIt == allBlobs.end())
564+
{
565+
CV_Error(Error::StsAssert, format("Output blob with name %s not found", name.c_str()));
566+
}
559567
reqWrapper->req.set_output_tensor(i++, isAsync ? copyBlob(blobIt->second) : blobIt->second);
560568
}
561569

0 commit comments

Comments
 (0)