diff --git a/mindspore/ccsrc/pre_activate/pass/convert_const_input_to_attr.cc b/mindspore/ccsrc/pre_activate/pass/convert_const_input_to_attr.cc index 38d629c415..89834cbc65 100644 --- a/mindspore/ccsrc/pre_activate/pass/convert_const_input_to_attr.cc +++ b/mindspore/ccsrc/pre_activate/pass/convert_const_input_to_attr.cc @@ -50,6 +50,12 @@ const AnfNodePtr ConvertConstInputToAttr::Process(const FuncGraphPtr &, const An if (!ConstInputToAttrInfoRegistry::Instance().GetRegisterByOpName(AnfAlgo::GetCNodeName(cnode), ®)) { continue; } + if (AnfAlgo::GetCNodeName(cnode) == prim::kPrimEmbeddingLookup->name() || + AnfAlgo::GetCNodeName(cnode) == prim::kPrimEmbeddingLookupCommGrad->name()) { + if (!AnfAlgo::HasNodeAttr(kAttrPrimitiveTarget, cnode)) { + continue; + } + } ConstInputToAttr(cnode, reg.GetConstInputAttrInfo()); } return node; diff --git a/mindspore/ccsrc/utils/utils.h b/mindspore/ccsrc/utils/utils.h index 972d8df319..3c118ec444 100644 --- a/mindspore/ccsrc/utils/utils.h +++ b/mindspore/ccsrc/utils/utils.h @@ -220,6 +220,7 @@ constexpr auto kAttrNumSplit = "num_split"; constexpr auto kAttrOutputNum = "output_num"; constexpr auto kAttrSizeSplits = "size_splits"; constexpr auto kAttrOutputDefault = "output_default"; +constexpr auto kAttrPrimitiveTarget = "primitive_target"; // attr value constexpr auto kValueTargetSwitch = "target_switch";