diff --git a/mindspore/lite/src/ops/primitive_c.cc b/mindspore/lite/src/ops/primitive_c.cc index 0e7f624eb8..cb1871b1a5 100644 --- a/mindspore/lite/src/ops/primitive_c.cc +++ b/mindspore/lite/src/ops/primitive_c.cc @@ -399,6 +399,8 @@ std::shared_ptr PrimitiveC::Create(const Primitive &prim, const std: return NewPrimitiveC(prim, inputs, quantType); } else if (op_type == "StridedSlice") { return NewPrimitiveC(prim, inputs, quantType); + } else if (op_type == "AvgPool") { + return NewPrimitiveC(prim, inputs, quantType); #ifdef SUPPORT_TRAIN diff --git a/mindspore/lite/src/ops/reshape.cc b/mindspore/lite/src/ops/reshape.cc index 0e17c2d262..49b2d4de7c 100644 --- a/mindspore/lite/src/ops/reshape.cc +++ b/mindspore/lite/src/ops/reshape.cc @@ -169,7 +169,7 @@ int Reshape::InferShape(std::vector inputs_, std::vector out std::vector out_shape; if (inputs_.size() == kDoubleNum) { auto shape_tensor = inputs_.at(1); - if (shape_tensor->MutableData() == nullptr) { + if (shape_tensor->data_c() == nullptr) { MS_LOG(INFO) << "Do infer shape in runtime."; return RET_INFER_INVALID; } diff --git a/mindspore/lite/tools/optimizer/fusion/conv_biasadd_fusion.cc b/mindspore/lite/tools/optimizer/fusion/conv_biasadd_fusion.cc index c477eb3ec3..6b2e832e21 100644 --- a/mindspore/lite/tools/optimizer/fusion/conv_biasadd_fusion.cc +++ b/mindspore/lite/tools/optimizer/fusion/conv_biasadd_fusion.cc @@ -24,6 +24,7 @@ #include "utils/utils.h" #include "tools/optimizer/common/gllo_utils.h" #include "securec/include/securec.h" +#include "src/ops/add.h" namespace mindspore::opt { namespace { @@ -155,6 +156,15 @@ const AnfNodePtr ConvBiasaddFusion::Process(const FuncGraphPtr &func_graph, cons auto add_node = node->cast(); CheckIfCNodeIsNull(add_node); CheckInputSize(add_node, kAddInputsLength); + if (GetCNodeType(add_node) == schema::PrimitiveType_Add) { + auto primitive_c = GetValueNode>(add_node->input(0)); + MS_ASSERT(utils::isa>(primitive_c)); + auto primc = utils::cast>(primitive_c); + MS_ASSERT(primc != nullptr); + if (primc->GetActivationType() != schema::ActivationType_NO_ACTIVATION) { + return add_node; + } + } AnfNodePtr conv_node_anf = add_node->input(1); CheckIfAnfNodeIsNull(conv_node_anf);