diff --git a/mindspore/ccsrc/pre_activate/pass/const_to_attr_strided_slice_grad.cc b/mindspore/ccsrc/pre_activate/pass/const_to_attr_strided_slice_grad.cc index 68f54c1636..b0e2ab044c 100644 --- a/mindspore/ccsrc/pre_activate/pass/const_to_attr_strided_slice_grad.cc +++ b/mindspore/ccsrc/pre_activate/pass/const_to_attr_strided_slice_grad.cc @@ -18,6 +18,7 @@ #include #include "session/anf_runtime_algorithm.h" #include "ir/primitive.h" +#include "utils/context/ms_context.h" #include "utils/utils.h" #include "pipeline/static_analysis/abstract_value.h" #include "pre_activate/common/helper.h" @@ -110,19 +111,24 @@ const AnfNodePtr ConstToAttrStridedSliceGradPass::Process(const FuncGraphPtr &gr auto strided_slice_grad = node->cast(); MS_EXCEPTION_IF_NULL(strided_slice_grad); - if (!CheckAttrs(strided_slice_grad)) { - MS_LOG(INFO) << "Check strided_slice_grad's attrs failed, graph not changed"; - return nullptr; - } + auto ms_context = MsContext::GetInstance(); + MS_EXCEPTION_IF_NULL(ms_context); - ValuePtrList strides_values; - if (!GetStridesValues(strided_slice_grad, &strides_values)) { - return nullptr; - } + if (ms_context->device_target() == kAscendDevice) { + if (!CheckAttrs(strided_slice_grad)) { + MS_LOG(INFO) << "Check strided_slice_grad's attrs failed, graph not changed"; + return nullptr; + } - if (!CheckValues(strides_values)) { - MS_LOG(INFO) << "Check strides' values failed, graph not changed"; - return nullptr; + ValuePtrList strides_values; + if (!GetStridesValues(strided_slice_grad, &strides_values)) { + return nullptr; + } + + if (!CheckValues(strides_values)) { + MS_LOG(INFO) << "Check strides' values failed, graph not changed"; + return nullptr; + } } ConstInputToAttr(strided_slice_grad, {1, 2, 3, 4});