Pytorch:[Errno 32] Broken pipe解决方法

最近在学pytorch入门,在可视化本身的CIFA10数据集时,用到了iter()函数,结果出现以下错误:windows

BrokenPipeError: [Errno 32] Broken pipe

在调试中发现,若将num_workers参数设置为0(本来为2),则以上报错不会出现多线程

缘由在于,在windows上使用多线程时,windows子线程在开始时会先执行main模块,子进程于是又会建立新的子进程,因此能够将代码包裹进:函数

if __name__ == '__main__':

就解决了以上报错。线程