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__'
之下的代码块不被运行。
更多推荐
已为社区贡献1条内容
所有评论(0)