Machine learning FastAI lrfind()方法不使用’;我不能正常工作
更新1 我更新了我的lr,根据“你想从那个点返回10倍,不管坡度如何。”并将其设置为 max_lr=-slice(1e-3,1e-2) 这是我得到的 情节呢 这是什么意思 正如你在第二张图中看到的Machine learning FastAI lrfind()方法不使用’;我不能正常工作,machine-learning,pytorch,fast-ai,Machine Learning,Pytorch,Fast Ai,更新1 我更新了我的lr,根据“你想从那个点返回10倍,不管坡度如何。”并将其设置为 max_lr=-slice(1e-3,1e-2) 这是我得到的 情节呢 这是什么意思 正如你在第二张图中看到的 从1e-08开始,损失非常好,但我从未将lr设置为1e-08,为什么我会看到这个 损失在1e-07和1e-04之间上下波动,最终当lr在4e-05左右返回时,损失飙升至接近0.05。这是什么意思?过度装修?为什么最初当学习率接近相同值(4e-05)时,损失看起来还可以 从批量处理/损失中,我可以看
这是我的lr_find()图 然后根据它的图表,我选择了最陡的斜坡段:1e-2到1e-1作为我的lr 代码如下:
learn.fit_one_cycle(20, max_lr=slice(1e-2,1e-1))
但这是我在训练中得到的
这里是学习的情节
learn.recorder.plot_lr()
learn.recorder.plot()
learn.recorder.plot_losses()
正如你所看到的,有效损失周期性地恶化。所以我的结论是lr_find()方法不能正常工作
我如何验证它
如果你想看到整个代码,在这里;唯一的区别是我使用来_fp16()
:
learn=cnn\u learner(数据,models.resnet50,metrics=error\u rate)。to\u fp16()
您是否尝试过不同的低学习率(例如:1e-5和1e-3)。我的假设是,您使用的学习率很高,导致错误平面出现跳跃。谢谢@AhmadBaracat我已经降低了lr,请查看我的更新1,它包含了所有详细信息。