| @@ -27,20 +27,24 @@ | |||||
| namespace ge { | namespace ge { | ||||
| namespace { | namespace { | ||||
| const int kReshapeDataIndex = 0; | const int kReshapeDataIndex = 0; | ||||
| const int kReshapeType = 0; | |||||
| const int kReformatType = 1; | |||||
| std::map<const char *, int> kOpTypeHash = { | |||||
| {RESHAPE, kReshapeType}, | |||||
| {REFORMAT, kReformatType} | |||||
| enum kOpHashValue { | |||||
| ReshapeType = 0; | |||||
| ReformatType = 1; | |||||
| OpNoDelete = -1; | |||||
| } | |||||
| std::map<std::string, kOpHashValue> kToDeleteOpType = { | |||||
| {RESHAPE, ReshapeType}, | |||||
| {REFORMAT, ReformatType} | |||||
| }; | }; | ||||
| } | } | ||||
| Status ReshapeRemovePass::Run(NodePtr &node) { | Status ReshapeRemovePass::Run(NodePtr &node) { | ||||
| GE_CHECK_NOTNULL(node); | GE_CHECK_NOTNULL(node); | ||||
| GE_CHECK_NOTNULL(node->GetOpDesc()); | GE_CHECK_NOTNULL(node->GetOpDesc()); | ||||
| switch(kOpTypeHash.find(node->GetType())) { | |||||
| case kReshapeType: | |||||
| int key = kOpTypeHash.find(node->GetType()) == kOpTypeHash.end() ? OpNoDelete : kToDeleteOpType[node->GetType()]; | |||||
| switch(key) { | |||||
| case ReshapeType: { | |||||
| bool is_shape_unknown = false; | bool is_shape_unknown = false; | ||||
| if (NodeUtils::GetNodeUnknownShapeStatus(*node, is_shape_unknown) == GRAPH_SUCCESS) { | if (NodeUtils::GetNodeUnknownShapeStatus(*node, is_shape_unknown) == GRAPH_SUCCESS) { | ||||
| if (is_shape_unknown) { | if (is_shape_unknown) { | ||||
| @@ -50,7 +54,8 @@ Status ReshapeRemovePass::Run(NodePtr &node) { | |||||
| } | } | ||||
| } | } | ||||
| break; | break; | ||||
| case kReformatType: | |||||
| } | |||||
| case ReformatType: | |||||
| break; | break; | ||||
| default: | default: | ||||
| return SUCCESS; | return SUCCESS; | ||||