# MindSpore报错：wq.weight in the argument 'net' should have the same shape as wq.weight in the argument 'parameter\_dict'.

**1. 系统环境**

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

软件环境: MindSpore 版本: 2.3

执行模式： Graph

**2. 报错信息**

执行分布式训练任务，加载ckpt出现如下报错。

```
For 'load_param_into_net', wq.weight in the argument 'net' should have the same shape as wq.weight  in the argument 'parameter_dict'. But got its shape (512, 8192) in the argument 'net' and shape (8192, 8192) in the argument 'parameter_dict'. May you need to check whether the checkpoint you loaded is correct or the batch size and so on in the 'net' and 'parameter_dict' are same.
```

**3. 根因分析**

a. 错误出现的位置为，加载checkpoint时失败。

b. 报错信息为：网络中wq.weight参数的shape为\(512, 8192\)，但是checkpoint文件中q.weight参数的shape为\(8192, 8192\)，shape不一致加载失败了。

c. 排查是网络的shape还是checkpoint文件的shape不符合预期，经过排查发现，网络中的shape是切分后的，是符合预期的。

d. 发现checkpoint中保存的参数shape是全量的，并不是切分好的。

e. 进一步排查发现，save\_checkpoint方法默认会把所有parameter合并保存成全量的，导致和网络中shape不一致。

**4. 解决方案**

在调用save\_checkpoint的时候，把integrated\_save参数手动设置为false，使所有节点保存切分后的参数。重新加载保存后的checkpoint文件，问题解决 。

