pytoch数据迭代器DataLoader:TypeError: Caught TypeError in DataLoader worker process 0

问题: 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)

最终处理完至少图片和标签文件的数量是对的上的,目前正在训练过程中,期待有好的结果

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值