pytorch使用出现"RuntimeError: An attempt has been made to start a new process before the..." 解决方法
·
今天在运行Pytorch手写数字识别代码时,出现了如下错误:
其实挺奇怪的… 因为这段代码是前几天刚写完跑成功的,今天再跑就出问题了
至于解决方法也很简单,出错提到了是多线程的缘故,那么就有如下两种:
- 去掉num_workers参数
# train_loader = Data.DataLoader(dataset=train_data, batch_size=BATCH_SIZE, shuffle=True, num_workers=2)
train_loader = Data.DataLoader(dataset=train_data, batch_size=BATCH_SIZE, shuffle=True)
- 在跑
epoch之前,加上if __name__=='__main__':
if __name__ == '__main__':
for epoch in range(EPOCH):
for step, (x, y) in enumerate(train_loader):
这样就能正常运行了
至于if __name__=='__main__的作用
当.py文件被直接运行时,
if __name__ == '__main__'之下的代码块将被运行;
当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)