# MindSpore Lite推理报错RuntimeError: data size not equal! Numpy size: 6144000, Tensor size: 0

**1. 系统环境**

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

软件环境: MindSpore 版本: 2.3.1

执行模式（静态图/动态图）： 不限

Python 版本: 3.7.6

操作系统平台: linux

**2. 报错信息**

2.1 问题描述

使用如下脚本进行推理出现报错。

2.2 报错信息

```
name: kv_cache,
dtype: DataType.FLOAT32,
shape: [48, -1, 1024, -1],
format: Format.NCHW,
element_num: 0,
data_size: 0.
device: None:-1.
```

2.3 脚本信息

```
inputs = self.ms_model.get_inputs()

inputs[1].set_data_from_numpy(xa.astype(np.float32))
inputs[2].set_data_from_numpy(kv_cache.astype(np.float32))
inputs[3].set_data_from_numpy(np.array([offset],dtype=np.int32))
inputs[0].set_data_from_numpy(x.astype(np.int32))
```

**3. 根因分析**

调用get\_inputs然后进行set\_data\_from\_numpy是lite云测推理的方法。

查看如下文档：

https://www.mindspore.cn/lite/api/zh-CN/r2.3.1/mindspore\_lite/mindspore\_lite.Model.html?highlight=get\_inputs\#mindspore\_lite.Model.get\_inputs

其中kv\_cache的shape是\[48, -1, 1024, -1\]

是动态shape，因此需要调用。

```
inputs = model.get_inputs()
model.resize(inputs, [四个输入的shape])
```

**4. 解决方案**

```
在get_inputs后调用resize接口。
inputs = self.ms_model.get_inputs()
self.ms_model.resize(inputs, [四个输入的shape])
inputs[1].set_data_from_numpy(xa.astype(np.float32))
inputs[2].set_data_from_numpy(kv_cache.astype(np.float32))
inputs[3].set_data_from_numpy(np.array([offset],dtype=np.int32))
inputs[0].set_data_from_numpy(x.astype(np.int32))
```

