今天在使用pytorch加载数据时出现如下错误:

raise RuntimeError('DataLoader worker (pid(s) {}) exited unexpectedly'.format(pids_str))
RuntimeError: DataLoader worker (pid(s) 4252, 17184) exited unexpectedly

仔细分析了一下,原因定位在num_workers

dataloader = DataLoader(dataset,batch_size=2,num_workers=2,shuffle=True)

一般出现这种错误,是因为没有写在

if __name__ == "__main__":

解决方法:

1.不使用多线程,将num_workers设置为0

2.写在if __name__ =="__main__": 下面,因为调用子线程,必须要有一个主线程。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐