pytorch跑代码时遇到报错
ValueError: num_samples should be a positive integer value, but got num_samples=0
根据 Pytorch DataLoder中sampler_wuxtwu的博客-CSDN博客提到的
- 如果指定了batch_sampler,那么就不要再额外指定 batch_size的大小了;
- 指定了sampler,shuffle就应该是默认的 “ False ”。
- 即使自己不指定batch_sampler,DataLoader还是会生成的
如果检查了代码发现虽然shuffle时True,但是只设置了batch_size并没有设置batch_sample,那么就应该不是这个问题。
最后加bug检查发现是因为读取到的dataset为0,
print('Number of {} dataset: {:d}'.format(split, len(self.dataset)))
一般代码从linux迁移到windows时读取路径和读取方式需要修改,修改下路径就可以了。
或者像本项目一样需要做数据预处理,没处理的数据也无法读到。