# 报错ERROR：For 'ScatterNdAdd', the 3-th value of 'indices'\[7\] is out of range\[4\]scatterNdAdd.

**1 系统环境**

硬件环境\(Ascend/GPU/CPU\): CPU

MindSpore版本: 1.8

执行模式（动态图）: 不限模式

Python版本: 3.7.5

操作系统平台: 不限

**2 报错信息**

2.1 问题描述

使用MindSpore-CPU1.8版本中的scatterNdAdd算子出现问题

2.2 报错信息

```
[ERROR] KERNEL(15937,7fad8d68a0c0,python3):2022-11-23-16:35:44.911.179 [mindspore/ccsrc/plugin/device/cpu/kernel/scatter_nd_arithmetic_cpu_kernel.cc:189] LaunchKernel] For 'ScatterNdAdd', the 3-th value of 'indices'[7] is out of range[4].
```

2.3 脚本代码

```
def test_scatterNdAdd():
    context.set_context(mode=context.PYNATIVE_MODE, device_target='CPU')
    input_x = Parameter(Tensor(np.array([[1, 2], [3, 4], [5, 6], [7, 8]]), mindspore.float32), name="x")
    indices = Tensor(np.array([[2], [4], [1], [7]]), mindspore.int32)
    updates = Tensor(np.array([[0, 1], [2, 3], [4, 5], [6, 7]]), mindspore.float32)
    output = ops.scatter_nd_add(input_x, indices, updates, False)
    print(output)
```

**3 根因分析**

根因：传入到Scatter\_nd\_add算子的参数不合规，超出算子规范。

算子说明参考：[https://www.mindspore.cn/docs/zh-CN/r1.8/api\_python/ops/mindspore.ops.scatter\_nd\_add.html\#mindspore.ops.scatter\_nd\_add](https://www.mindspore.cn/docs/zh-CN/r1.8/api_python/ops/mindspore.ops.scatter_nd_add.html#mindspore.ops.scatter_nd_add)

原因：input\_x只有4个内容，indices中的\[4\]、\[7\]超出维度范围，更正即可。

**4 解决方案**

修改变量indices的内容在维度范围内。

```
def test_scatterNdAdd():
    context.set_context(mode=context.PYNATIVE_MODE, device_target='CPU')
    input_x = Parameter(Tensor(np.array([[1, 2], [3, 4], [5, 6], [7, 8]]), mindspore.float32), name="x")
    indices = Tensor(np.array([[2], [0], [1], [3]]), mindspore.int32)
    updates = Tensor(np.array([[0, 1], [2, 3], [4, 5], [6, 7]]), mindspore.float32)
    output = ops.scatter_nd_add(input_x, indices, updates, False)
    print(output)
```

