Fix performance regression due to copying of opset (#4184)
This commit is contained in:
parent
e47186aad6
commit
abf37e1caf
@ -693,7 +693,6 @@ std::shared_ptr<ngraph::Node> V10Parser::XmlDeserializer::createNode(
|
|||||||
auto opsetIt = opsets.find(params.version);
|
auto opsetIt = opsets.find(params.version);
|
||||||
|
|
||||||
// Try to create operation from loaded opsets
|
// Try to create operation from loaded opsets
|
||||||
auto version = params.version;
|
|
||||||
static const std::unordered_set<std::string> experimental_detectrons = {"ExperimentalDetectronDetectionOutput",
|
static const std::unordered_set<std::string> experimental_detectrons = {"ExperimentalDetectronDetectionOutput",
|
||||||
"ExperimentalDetectronGenerateProposalsSingleImage",
|
"ExperimentalDetectronGenerateProposalsSingleImage",
|
||||||
"ExperimentalDetectronPriorGridGenerator",
|
"ExperimentalDetectronPriorGridGenerator",
|
||||||
@ -701,11 +700,10 @@ std::shared_ptr<ngraph::Node> V10Parser::XmlDeserializer::createNode(
|
|||||||
"ExperimentalDetectronTopKROIs"};
|
"ExperimentalDetectronTopKROIs"};
|
||||||
|
|
||||||
if (experimental_detectrons.count(params.type)) {
|
if (experimental_detectrons.count(params.type)) {
|
||||||
version = "opset6";
|
opsetIt = opsets.find("opset6");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ngraphNode && opsets.count(version)) {
|
if (!ngraphNode && opsetIt != opsets.end()) {
|
||||||
auto opset = opsets.at(version);
|
|
||||||
auto const & type = params.type == "Const"
|
auto const & type = params.type == "Const"
|
||||||
? "Constant"
|
? "Constant"
|
||||||
: params.type;
|
: params.type;
|
||||||
@ -718,10 +716,11 @@ std::shared_ptr<ngraph::Node> V10Parser::XmlDeserializer::createNode(
|
|||||||
THROW_IE_EXCEPTION << "Cannot create " << params.type << " layer " << params.name << " id:" << params.layerId
|
THROW_IE_EXCEPTION << "Cannot create " << params.type << " layer " << params.name << " id:" << params.layerId
|
||||||
<< " from unsupported opset: " << params.version;
|
<< " from unsupported opset: " << params.version;
|
||||||
}
|
}
|
||||||
opset = opsetIt->second;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto const& opset = opsetIt->second;
|
||||||
|
|
||||||
ngraphNode = std::shared_ptr<ngraph::Node>(opset.create_insensitive(type));
|
ngraphNode = std::shared_ptr<ngraph::Node>(opset.create_insensitive(type));
|
||||||
if (!ngraphNode) {
|
if (!ngraphNode) {
|
||||||
THROW_IE_EXCEPTION << "Opset " << params.version << " doesn't contain the operation with type: " << type;
|
THROW_IE_EXCEPTION << "Opset " << params.version << " doesn't contain the operation with type: " << type;
|
||||||
|
Loading…
Reference in New Issue
Block a user