1、报错时候的写法,查了很多,就说以下:
可能的原因:传入的Dataset中的len(self.data_info)==0,即传入该dataloader的dataset里没有数据
解决方法:
-
检查dataset中的路径,路径不对,读取不到数据。
-
检查Dataset的__len__()函数为何输出为零
2、后来一个个debug,dataset.__getitem__(1)打印输出,确实存在数据的,后来没辙,就找跑的通的代码比对,然后我就发现了不一样的
3、发现是直接传的数据,并没有在__getitem__()中读入文件数据,然后我就单独写了方法读数据,把读的数据传入dataset,然后就ok了。
原理我不懂,有知道的小伙伴可以告诉我一下,非常感谢。下面是我修改后,成功跑通的代码