# model.train报错Exception in training: The input value must be int and must \> 0, but got '0' with type 'int'.

**1. 系统环境**

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

软件环境: MindSpore 版本: 2.2.10

执行模式：Graph

**2. 报错信息**

```
Traceback (most recent cal1 last):
    File "/home/ma-user/modelarts/user-job-dir/code_v18/sigma_sft_train.py", line 15, in <module>
        runrtrain_no_ pipeline(opt)
    File "/home/ma-user/modelarts/user-job-dir/code_v18/pangu_sigma/sft/sigmasft.py, line 294, in run_train_no_pipeline
        model.build(train dataset=ds, sink size=args_opt.sinksize, epoch=actual_epoch num)

ValueError: The input value must be int and must > 0, but got '0' with type 'int'.
rank:5, batch_size: 1 data_size:z, eod_reset:1
```

**3. 根因分析**

根据报错信息，找到报错的代码；发现报错信息集中在mindrecord，这个时候需要检查一下数据量；看报错信息，显示data\_size:2，说明数据量只有两个，这个时候需要检查自己生成ds数据集的shard\_id和num\_shard参数设置的是多少。如果数据量确实很少，且是本机8卡时，可按如下配置：

```
dataset = ds.MindDataset(data[data_start_ index: ], columns_list=columns_list, shuffle=shuffle, num_samples=num_samples, shard_id_rank // 8, num_shards=device_num // 8)
```

根因：数据量太少，在创建ds数据集时，num\_shards配置不对导致。

**4. 解决方案**

解决方法：增大数据量。

