From 2b91ef7fd5970d49503efb65fe6b53a3e1efd45c Mon Sep 17 00:00:00 2001 From: zengxianglong Date: Tue, 3 Nov 2020 21:22:04 +0800 Subject: [PATCH] fix batchmatmul fusion and sub graph bugs --- mindspore/lite/src/sub_graph_kernel.cc | 4 ++++ mindspore/lite/tools/optimizer/fusion/batchmatmul_fusion.cc | 3 +++ 2 files changed, 7 insertions(+) diff --git a/mindspore/lite/src/sub_graph_kernel.cc b/mindspore/lite/src/sub_graph_kernel.cc index 0d941f7e2c..24a35f0fe6 100644 --- a/mindspore/lite/src/sub_graph_kernel.cc +++ b/mindspore/lite/src/sub_graph_kernel.cc @@ -147,6 +147,10 @@ int SubGraphKernel::ReSize(bool is_interrupt) { } } } + if (is_interrupt) { + MS_LOG(INFO) << "Infer shape failed."; + return RET_INFER_INVALID; + } return RET_OK; } diff --git a/mindspore/lite/tools/optimizer/fusion/batchmatmul_fusion.cc b/mindspore/lite/tools/optimizer/fusion/batchmatmul_fusion.cc index 90f5e43c06..bb622da414 100644 --- a/mindspore/lite/tools/optimizer/fusion/batchmatmul_fusion.cc +++ b/mindspore/lite/tools/optimizer/fusion/batchmatmul_fusion.cc @@ -133,6 +133,9 @@ const AnfNodePtr BatchMatMulFusion::Process(const FuncGraphPtr &func_graph, cons MS_ASSERT(fullconnect_cnode->inputs().size() == 3); auto left_slice_node = fullconnect_cnode->input(1); auto left_slice_cnode = left_slice_node->cast(); + if (GetCNodeType(left_slice_cnode) != schema::PrimitiveType_Slice) { + return nullptr; + } auto left_matmul_input = left_slice_cnode->input(1); auto right_reshape_node = fullconnect_cnode->input(2);