Python 使用Fast.AI查找学习率/培训时出错

Python 使用Fast.AI查找学习率/培训时出错,python,Python,我正在通过使用Fast.AI/Pytorch在Windows中创建CNN来练习我的机器学习技能。我已经成功地创建并初始化了数据集,但是当我尝试训练数据集或查找学习率时,我得到了一个错误 。。。 learn=cnn\u learner(数据,models.resnet34,metrics=error\u rate)#我们在这里很好 #现在,任何一行代码都会抛出相同的错误。 学习。适应一个周期(1) learn.lr_find() ... 这是我得到的具体错误 回溯(最近一次呼叫最后一次): 文件

我正在通过使用Fast.AI/Pytorch在Windows中创建CNN来练习我的机器学习技能。我已经成功地创建并初始化了数据集,但是当我尝试训练数据集或查找学习率时,我得到了一个错误

。。。
learn=cnn\u learner(数据,models.resnet34,metrics=error\u rate)#我们在这里很好
#现在,任何一行代码都会抛出相同的错误。
学习。适应一个周期(1)
learn.lr_find()
...
这是我得到的具体错误

回溯(最近一次呼叫最后一次):
文件“”,第1行,在
运行文件('C:/Users/../Desktop/Homebrew AI/image_test.py',wdir='C:/Users/../Desktop/Homebrew AI')
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\site packages\spyder\u kernels\customize\spyderrcustomize.py”,第786行,在runfile中
execfile(文件名、命名空间)
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\site packages\spyder\u kernels\customize\spyderrcustomize.py”,第110行,在execfile中
exec(编译(f.read(),文件名,'exec'),命名空间)
文件“C:/Users/../Desktop/Homebrew AI/image_test.py”,第36行,在
learn.lr_find()
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\site packages\fastai\train.py”,第32行,在lr_find中
fit(epochs,start\u lr,回调=[cb],wd=wd)
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\site packages\fastai\basic\u train.py”,第200行,适合
拟合(历元,self,metrics=self.metrics,callbacks=self.callbacks+callbacks)
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\site packages\fastai\basic\u train.py”,第99行,适合
对于xb,yb在进行中\u条(learn.data.train\u dl,parent=pbar):
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\site packages\fastprogress\fastprogress.py”,第72行,在__
对于枚举中的i,o(self.\u gen):
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\site packages\fastai\basic\u data.py”,第75行,在iter中__
对于self.dl中的b:产量self.proc_批次(b)
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\site packages\torch\utils\data\dataloader.py”,第193行,在iter中__
返回数据加载程序(自身)
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\site packages\torch\utils\data\dataloader.py”,第469行,在uu init中__
w、 开始()
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\multiprocessing\process.py”,第112行,开始
self.\u popen=self.\u popen(self)
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\multiprocessing\context.py”,第223行,以Popen格式
返回_default_context.get_context().Process._Popen(Process_obj)
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\multiprocessing\context.py”,第322行,以Popen格式
返回Popen(过程对象)
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\multiprocessing\popen\u spawn\u win32.py”,第89行,在uu init中__
减少.转储(进程对象,到子进程)
文件“C:\Users\…\AppData\Local\Continuum\anaconda3\lib\multiprocessing\reduce.py”,第60行,转储文件
ForkingPickler(文件、协议).dump(obj)
断管错误:[Errno 32]断管

我想这可能和Windows有关吧?任何关于修复此问题的帮助都会很有帮助。

事实证明,PyTorch的1.0.4版和Windows在多线程方面出现了一些奇怪的情况。将PyTorch的版本降级到1.0.0解决了这个问题。

事实证明,PyTorch的1.0.4版本和Windows在多线程方面出现了一些奇怪的情况。将PyTorch版本降级为1.0.0修复了该问题