|
|
@@ -143,26 +143,25 @@ void MarkForceUnknownForCondPass::MarkUnknownForSwitch(const std::map<NodePtr, s |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
if (IsUnknownShapeTensor(op_desc1->GetOutputDesc(0))) { |
|
|
|
int64_t group_index = op_desc1->GetId(); |
|
|
|
GELOGI("Mark %s as unknown shape control flow, group index: %ld", op_desc1->GetName().c_str(), group_index); |
|
|
|
MarkForceUnknownShape(op_node1, true, group_index); |
|
|
|
for (const auto &n : it1->second) { |
|
|
|
MarkForceUnknownShape(n, true, group_index); |
|
|
|
} |
|
|
|
|
|
|
|
for (auto it2 = switch_groups.begin(); it2 != switch_groups.end(); ++it2) { |
|
|
|
const auto &op_node2 = it2->first; |
|
|
|
const auto &op_desc2 = op_node2->GetOpDesc(); |
|
|
|
if (op_desc2->HasAttr(ATTR_NAME_CONTROL_FLOW_GROUP)) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
int64_t group_index = op_desc1->GetId(); |
|
|
|
GELOGI("Mark %s as unknown shape control flow, group index: %ld", op_desc1->GetName().c_str(), group_index); |
|
|
|
MarkForceUnknownShape(op_node1, true, group_index); |
|
|
|
for (const auto &n : it1->second) { |
|
|
|
MarkForceUnknownShape(n, true, group_index); |
|
|
|
} |
|
|
|
|
|
|
|
if (std::any_of(it2->second.begin(), it2->second.end(), callback)) { |
|
|
|
MarkForceUnknownShape(op_node2, true, group_index); |
|
|
|
for (const auto &n : it2->second) { |
|
|
|
MarkForceUnknownShape(n, true, group_index); |
|
|
|
} |
|
|
|
for (auto it2 = switch_groups.begin(); it2 != switch_groups.end(); ++it2) { |
|
|
|
const auto &op_node2 = it2->first; |
|
|
|
const auto &op_desc2 = op_node2->GetOpDesc(); |
|
|
|
if (op_desc2->HasAttr(ATTR_NAME_CONTROL_FLOW_GROUP)) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
if (std::any_of(it2->second.begin(), it2->second.end(), callback)) { |
|
|
|
MarkForceUnknownShape(op_node2, true, group_index); |
|
|
|
for (const auto &n : it2->second) { |
|
|
|
MarkForceUnknownShape(n, true, group_index); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|