From b8cf5089f10cc066da1e96aeb129e49f0576d01f Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Wed, 2 Dec 2020 10:09:45 +0800 Subject: [PATCH] modified: ge/graph/passes/merge_pass.cc modified: ge/graph/passes/merge_pass.h --- ge/graph/passes/merge_pass.cc | 36 ------------------------------------ ge/graph/passes/merge_pass.h | 1 - 2 files changed, 37 deletions(-) diff --git a/ge/graph/passes/merge_pass.cc b/ge/graph/passes/merge_pass.cc index 0b367614..d2340037 100644 --- a/ge/graph/passes/merge_pass.cc +++ b/ge/graph/passes/merge_pass.cc @@ -34,11 +34,6 @@ using domi::SUCCESS; namespace ge { const int kValueIndexOutputIndex = 1; -bool IsEmptyTensor(const GeShape &shape) { - const auto &dims = shape.GetDims(); - return std::any_of(dims.begin(), dims.end(), [](int64_t dim) { return dim == 0; }); -} - Status MergePass::Run(NodePtr &node) { GELOGD("MergePass running"); if (node == nullptr) { @@ -58,11 +53,6 @@ Status MergePass::Run(NodePtr &node) { return PARAM_INVALID; } - if (OptimizeEmptyTensorInput(node) != SUCCESS) { - GELOGE(FAILED, "[%s] remove empty_tensor inputs failed.", node->GetName().c_str()); - return FAILED; - } - auto in_data_nodes = node->GetInDataNodes(); switch (in_data_nodes.size()) { case 0: { @@ -212,30 +202,4 @@ bool MergePass::IsMergeInputNeedOptimized(NodePtr &node) const { } return true; } - -Status MergePass::OptimizeEmptyTensorInput(const NodePtr &node) { - for (const auto &in_data_anchor : node->GetAllInDataAnchors()) { - const auto &peer_data_anchor = in_data_anchor->GetPeerOutAnchor(); - if (peer_data_anchor == nullptr) { - continue; - } - if ((peer_data_anchor->GetOwnerNode() == nullptr) || - (peer_data_anchor->GetOwnerNode()->GetOpDesc() == nullptr)) { - continue; - } - const auto &op_desc = peer_data_anchor->GetOwnerNode()->GetOpDesc(); - if (IsEmptyTensor(op_desc->GetOutputDesc(peer_data_anchor->GetIdx()).GetShape())) { - if (GraphUtils::RemoveEdge(peer_data_anchor, in_data_anchor) != GRAPH_SUCCESS) { - GELOGE(FAILED, "Remove data edge %s:%d->%s:%d failed.", - op_desc->GetName().c_str(), peer_data_anchor->GetIdx(), - node->GetName().c_str(), in_data_anchor->GetIdx()); - return FAILED; - } - GELOGD("Remove data edge %s:%d->%s:%d", - op_desc->GetName().c_str(), peer_data_anchor->GetIdx(), - node->GetName().c_str(), in_data_anchor->GetIdx()); - } - } - return SUCCESS; -} } // namespace ge diff --git a/ge/graph/passes/merge_pass.h b/ge/graph/passes/merge_pass.h index 464f2172..2cdb5022 100755 --- a/ge/graph/passes/merge_pass.h +++ b/ge/graph/passes/merge_pass.h @@ -29,7 +29,6 @@ class MergePass : public BaseNodePass { Status ChangeIndexToConstant(NodePtr &node, int &value_index); Status CreateConstByValue(NodePtr &node, int value_index, OpDescPtr &op_desc); bool IsMergeInputNeedOptimized(NodePtr &node) const; - static Status OptimizeEmptyTensorInput(const NodePtr &node); }; } // namespace ge #endif // GE_GRAPH_PASSES_MERGE_PASS_H_