报错:TypeError: cant pickle Environment objects 和 EOFError: Ran out of input

Github下载的Pytorch0.4.1的代码,linux运行没问题,转到windows出现错误!

File “D:\Anaconda3.7\lib\multiprocessing\process.py”, line 112, in start
self._popen = self._Popen(self)
File “D:\Anaconda3.7\lib\multiprocessing\context.py”, line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File “D:\Anaconda3.7\lib\multiprocessing\context.py”, line 322, in _Popen
return Popen(process_obj)
File “D:\Anaconda3.7\lib\multiprocessing\popen_spawn_win32.py”, line 89, in init
reduction.dump(process_obj, to_child)
File “D:\Anaconda3.7\lib\multiprocessing\reduction.py”, line 60, in dump
ForkingPickler(file, protocol).dump(obj)
TypeError: can’t pickle Environment objects

出现问题原因:

多线程导致的

data_loader = data.DataLoader(dataset, batch_size, num_workers=args.num_workers,shuffle=True, collate_fn=detection_collate, pin_memory=True)
解决方法:

修改num_workers=0,即可解决。
num_workers (int, optional):
这个参数决定了有几个进程来处理data loading。0意味着所有的数据都会被load进主进程。(默认为0)

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Peanut_范

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值