[GPU] Mark all nodes with dynamic shape as unsupported (#9372)

This commit is contained in:
Andrei Molotkov 2021-12-23 15:04:26 +03:00 committed by GitHub
parent 5e1d241c11
commit 5346a5226c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -390,37 +390,41 @@ QueryNetworkResult Plugin::QueryNetwork(const CNNNetwork& network,
std::vector<std::shared_ptr<ngraph::Node>> nextLayerDependent; std::vector<std::shared_ptr<ngraph::Node>> nextLayerDependent;
auto layerIsSupported = [&](std::shared_ptr<ngraph::Node> node) { auto layerIsSupported = [&](std::shared_ptr<ngraph::Node> node) {
if (node->is_dynamic()) {
return false;
}
if (ngraph::is_type<const ngraph::op::v0::DetectionOutput>(node) || if (ngraph::is_type<const ngraph::op::v0::DetectionOutput>(node) ||
ngraph::is_type<const ngraph::op::v0::PriorBox>(node) || ngraph::is_type<const ngraph::op::v0::PriorBox>(node) ||
ngraph::is_type<const ngraph::op::v0::PriorBoxClustered>(node) || ngraph::is_type<const ngraph::op::v0::PriorBoxClustered>(node) ||
ngraph::is_type<const ngraph::op::v0::Proposal>(node)) { ngraph::is_type<const ngraph::op::v0::Proposal>(node)) {
return false; return false;
} else if (ngraph::is_type<const ngraph::op::v1::Split>(node)) { }
if (ngraph::is_type<const ngraph::op::v1::Split>(node)) {
splitNames.emplace(node->get_friendly_name()); splitNames.emplace(node->get_friendly_name());
splits.push_back(node); splits.push_back(node);
return false; return false;
} else if (ngraph::is_type<const ngraph::op::v0::Concat>(node)) { }
if (ngraph::is_type<const ngraph::op::v0::Concat>(node)) {
concatNames.emplace(node->get_friendly_name()); concatNames.emplace(node->get_friendly_name());
concats.push_back(node); concats.push_back(node);
return false; return false;
} else if (ngraph::is_type<const ngraph::op::v1::Reshape>(node) || }
if (ngraph::is_type<const ngraph::op::v1::Reshape>(node) ||
ngraph::is_type<const ngraph::op::v0::Squeeze>(node) || ngraph::is_type<const ngraph::op::v0::Squeeze>(node) ||
ngraph::is_type<const ngraph::op::v0::Unsqueeze>(node) || ngraph::is_type<const ngraph::op::v0::Unsqueeze>(node) ||
ngraph::is_type<const ngraph::op::v1::Transpose>(node)) { ngraph::is_type<const ngraph::op::v1::Transpose>(node)) {
depLayerNames.emplace(node->get_friendly_name()); depLayerNames.emplace(node->get_friendly_name());
nextLayerDependent.push_back(node); nextLayerDependent.push_back(node);
return false; return false;
} else if (ngraph::is_type<const ngraph::op::v0::Constant>(node)) { }
if (ngraph::is_type<const ngraph::op::v0::Constant>(node)) {
constantsNames.emplace(node->get_friendly_name()); constantsNames.emplace(node->get_friendly_name());
constants.push_back(node); constants.push_back(node);
return false; return false;
} else if (prog.IsOpSupported(network, node) &&
!ngraph::op::is_parameter(node) &&
!ngraph::op::is_output(node)) {
return true;
} else {
return false;
} }
return prog.IsOpSupported(network, node) &&
!ngraph::op::is_parameter(node) &&
!ngraph::op::is_output(node);
}; };
// Get ops after transformations and check if it's supported // Get ops after transformations and check if it's supported