问题:
windows系统中,当pytorch的dataloader的num_workers>0时,报错broken pipe;但是num_workers=0则无问题。
解决方案:
在实例化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_

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

1899

被折叠的 条评论
为什么被折叠?



