问题: TypeError: Caught TypeError in DataLoader worker process 0
参考网上的很多将num_works设置为0,但是一直犹豫,因为速度慢了很多,而已有没有效果也有待考证,有想试试的可以试一下
train_loader = Data.DataLoader(dataset=train_data, batch_size=config.train_batch_size, shuffle=False,
num_workers=0)
还有比较靠谱的说是数据标签问题,这个我得数据量非常大,大概有9万的样子,想检查哪里的标签问题还是很难的,但是大概浏览的过程发现有部分文件0KB,引起了我得警惕。目前按照linux命令删除了删不掉,最后代码删除:
from os import listdir, system,remove
import re
from os.path import isdir, abspath, getsize, join
base_dir = "/data/bmw/output_path"
datadir = listdir(base_dir)
print(len(datadir))
for data in datadir:
filename = join(base_dir,data)
if getsize(filename) == 0:
# system('rm -rf %s' % filename)
remove(filename)
print("[-] Deleting %s ..." % filename)
passenger_num = len(re.findall(".npy", str(datadir)))
print(passenger_num)
print(len(datadir) - passenger_num)
最终处理完至少图片和标签文件的数量是对的上的,目前正在训练过程中,期待有好的结果