|
|
@@ -624,6 +624,7 @@ namespace { |
|
|
|
|
|
|
|
Status CheckDynamicSupport(GeModelPtr &ge_model, const ComputeGraphPtr &graph) { |
|
|
|
bool support_dynamic = true; |
|
|
|
bool is_dynamic = false; |
|
|
|
for (const auto &node : graph->GetDirectNode()) { |
|
|
|
GE_CHECK_NOTNULL(node); |
|
|
|
if (node->GetType() == DATA || node->GetType() == CONSTANT || node->GetType() == CONSTANTOP || |
|
|
@@ -632,13 +633,18 @@ namespace { |
|
|
|
} |
|
|
|
auto op_desc = node->GetOpDesc(); |
|
|
|
GE_CHECK_NOTNULL(op_desc); |
|
|
|
(void)AttrUtils::GetBool(op_desc, kAttrSupportDynamicShape, support_dynamic); |
|
|
|
if (!support_dynamic) { |
|
|
|
GELOGW("Node[%s] doesn't support dynamic shape.", node->GetName().c_str()); |
|
|
|
(void)AttrUtils::SetBool(ge_model, kAttrSupportDynamicShape, false); |
|
|
|
return SUCCESS; |
|
|
|
if (AttrUtils::HasAttr(op_desc, kAttrSupportDynamicShape)) { |
|
|
|
is_dynamic = true; |
|
|
|
(void) AttrUtils::GetBool(op_desc, kAttrSupportDynamicShape, support_dynamic); |
|
|
|
if (!support_dynamic) { |
|
|
|
GELOGW("Node[%s] doesn't support dynamic shape.", node->GetName().c_str()); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (is_dynamic) { |
|
|
|
(void) AttrUtils::SetBool(ge_model, kAttrSupportDynamicShape, support_dynamic); |
|
|
|
} |
|
|
|
return SUCCESS; |
|
|
|
} |
|
|
|
} |
|
|
|