Pytorch fastai 课程 lr_find() 中的问题
Problem in lr_find() in Pytorch fastai course
在学习本课程的 Jupyter 笔记本时
当这些行是 运行 时,我遇到了一个错误。
我知道 cnn_learner
行没有任何错误,问题出在 lr_find()
部分
看来learn.lr_find()
不想return两个值!尽管它的文档说它 return 是一个元组。那是我的问题。
这些是代码行:
learn = cnn_learner(dls, resnet34, metrics=error_rate)
lr_min,lr_steep = learn.lr_find()
错误说:
not enough values to unpack (expected 2, got 1)
第二行。
另外,我得到的这张图有一个 'marker',我想它是 lr_min
或 lr_steep
的值之一
This is the graph
当我运行只learn.lr_find()
时,即不捕获lr_min, lr_steep
中的输出; 运行很好,但是我没有得到最小和陡峭的学习率(这对我来说真的很重要)
我通读了 lr_find
的功能,很明显它 return 是一个元组。它的文档字符串说
Launch a mock training to find a good learning rate and return suggestions based on suggest_funcs
as a named tuple
我复制了原来的笔记本,当我遇到这个错误时,我 运行 原来的笔记本,结果相同。我也更新了笔记本,但没有变化!
无论我在哪里在线搜索此内容,都没有弹出任何类型的错误。我发现的唯一相关的事情是 lr_find()
return 每次 运行 后学习率的不同结果,这完全没问题。
我遇到了同样的问题,我发现 lr_find()
输出已经更新。您可以将第二行替换为 lrs = learn.lr_find(suggest_funcs=(minimum, steep, valley, slide))
,然后您只需将使用 lr_min
和 lr_steep
的位置分别替换为 lrs.minimum
和 lrs.steep
,这应该可以正常工作并解决你的问题。
如果您想阅读更多相关信息,可以在 fastai 论坛中查看 this post。
在学习本课程的 Jupyter 笔记本时
当这些行是 运行 时,我遇到了一个错误。
我知道 cnn_learner
行没有任何错误,问题出在 lr_find()
部分
看来learn.lr_find()
不想return两个值!尽管它的文档说它 return 是一个元组。那是我的问题。
这些是代码行:
learn = cnn_learner(dls, resnet34, metrics=error_rate)
lr_min,lr_steep = learn.lr_find()
错误说:
not enough values to unpack (expected 2, got 1)
第二行。
另外,我得到的这张图有一个 'marker',我想它是 lr_min
或 lr_steep
的值之一
This is the graph
当我运行只learn.lr_find()
时,即不捕获lr_min, lr_steep
中的输出; 运行很好,但是我没有得到最小和陡峭的学习率(这对我来说真的很重要)
我通读了 lr_find
的功能,很明显它 return 是一个元组。它的文档字符串说
Launch a mock training to find a good learning rate and return suggestions based on
suggest_funcs
as a named tuple
我复制了原来的笔记本,当我遇到这个错误时,我 运行 原来的笔记本,结果相同。我也更新了笔记本,但没有变化!
无论我在哪里在线搜索此内容,都没有弹出任何类型的错误。我发现的唯一相关的事情是 lr_find()
return 每次 运行 后学习率的不同结果,这完全没问题。
我遇到了同样的问题,我发现 lr_find()
输出已经更新。您可以将第二行替换为 lrs = learn.lr_find(suggest_funcs=(minimum, steep, valley, slide))
,然后您只需将使用 lr_min
和 lr_steep
的位置分别替换为 lrs.minimum
和 lrs.steep
,这应该可以正常工作并解决你的问题。
如果您想阅读更多相关信息,可以在 fastai 论坛中查看 this post。