首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火炬速递课程中的lr_find()问题

火炬速递课程中的lr_find()问题
EN

Stack Overflow用户
提问于 2021-07-15 15:18:49
回答 1查看 1.3K关注 0票数 4

在跟踪木星笔记本的过程中,我在运行这些行时偶然发现了一个错误。我知道cnn_learner行没有任何错误,问题在于lr_find()部分--似乎learn.lr_find()不想返回两个值!尽管它的文档显示它返回一个元组。这是我的问题。

以下是代码行:

代码语言:javascript
复制
learn = cnn_learner(dls, resnet34, metrics=error_rate)
lr_min,lr_steep = learn.lr_find()

错误说:

代码语言:javascript
复制
not enough values to unpack (expected 2, got 1)

第二行。

另外,我用一个“标记”得到了这个图,我认为这是lr_minlr_steep 这是图的值之一。

当我只运行learn.lr_find()时,即不要捕获lr_min, lr_steep中的输出;它运行得很好,但是我没有得到最小和陡峭的学习速率(这对我来说非常重要)

我阅读了lr_find所做的工作,很明显它返回了一个元组。它的文档里写着

启动模拟培训,以找到一个良好的学习率和返回建议,基于suggest_funcs作为一个命名的元组

我复制了原来的笔记本,当我碰到这个错误时,我运行了原始笔记本,结果是一样的。我也更新笔记本,但没有改变!无论我在网上搜索过什么,都没有出现任何错误。我发现的唯一相关的事情是,lr_find()在每次运行后返回不同的学习速率结果,这是非常好的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-18 15:46:58

我也遇到了同样的问题,我发现lr_find()输出已经更新。您可以将第二行替换为lrs = learn.lr_find(suggest_funcs=(minimum, steep, valley, slide)),然后只需将lr_minlr_steep分别用于lrs.minimumlrs.steep的地方进行替换,这样可以很好地解决问题。

如果你想读更多关于它,你可以看到这个职位是在快速的论坛。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68396513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档