Windows系统 pytorch dataloader num_workers大于0 broken pipe 问题 spawn

在Windows系统中使用PyTorch时,若dataloader的num_workers设置大于0,会出现broken pipe错误。该问题可通过指定multiprocessing_context为'loky'来解决,这在官方issue和pull request中有提及。

问题:

windows系统中,当pytorch的dataloader的num_workers>0时,报错broken pipe;但是num_workers=0则无问题。

解决方案:

参考DataLoader with num_workers>0 fails when running with "spawn" and using joblib · Issue #44687 · pytorch/pytorch · GitHub

在实例化DataLoader时,指定‘loky’作为multiprocessing_context。

from joblib.externals.loky.backend.context import get_context
a_random_loader = data.DataLoader(train_dataset,
                               batch_size=batch_size,
                               num_workers=config.num_workers,
                               drop_last=True,
                               shuffle=is_shuffle,
                               pin_memory=True,
                               sampler=train_sampler,
                               multiprocessing_
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值