pytorch dataloader报错BrokenPipeError: [Errno 32] Broken pipe

pytorch dataloader报错BrokenPipeError: [Errno 32] Broken pipe

  • 问题描述
    • 解决办法

问题描述

在win10中,pytorch下使用dataloader加载数据集时,如果将参数num_workers设置为非0数,即采用多线程加载数据时,会产生报错:

BrokenPipeError: [Errno 32] Broken pipe

在spyder和pycharm中均会报该错误。

解决办法

可以把代码放在jupyter notebook上来跑,亲测num_workers设置为非0不会报错,不过不知道是否真的起到了多线程加载数据的作用。
一般来讲,如果模型规模不大,那么完全没有必要使用多线程加载,但如果是在服务器上跑训练,那就有必要利用多线程加载来加快CPU加载数据的速率,以配合GPU的高速运算,提高GPU利用率。

你可能感兴趣的:(pytorch,深度学习,python)