fast.ai课程学习错误总结(课程1详解)

        Kaggle上原本内容课程1链接Is it a bird? Creating a model from your own data | Kaggle.,文末有我针对报错修改后可正常运行的版本。

         断断续续几次想学fastai的课程,可是在用课程中提供的代码运行时,经常会遇到一些奇怪的报错(可能是软件库更新太快,而课程代码却没有同步更新的缘故),对于课程所倡导的快速体验入门AI产生了阻力。想到现在chatgpt类的智能助手已经很先进了,可以利用智能助手扫除意外报错,于是又有了尝试重新学习fastai的动力。

        在第一课“Is it a bird? Creating a model from your own data”中,在查找bird图片时,提示ddg_images被弃用,建议使用DDG().images()。

根据智能助手的建议,把ddg_images换成DDGSearch,结果运行提示不存在。后来还是在stackoverflow上看其他人给的方案,应该import DDGS。

python - 使用 fastapi 的 pip 版本时出现 ddg 搜索错误 - 堆栈溢出 --- python - ddg search error when using fastapi's pip version - Stack Overflow

只是因为函数定义变了,后面的内容也要改。又遇到了新的问题,不确定是不是duckduckgo服务器自身的问题

        fastai论坛里的这的帖子看起来也是相关问题讨论,而且提示课程视频里用fastbook的方法

Ddg_images doesnt return any results - Part 1 2022 - fast.ai Course Forums

        在教学视频里看到的是自定义search_images函数,未使用duckduckgo的库。 通过在kaggle中查看,那是version 8里的内容,我目前看的是version 9,所以和上面不一致。但整体一下看起来复杂了许多,

 

        最后用如下如下方法解决了下载urls的问题,即用fastbook里定义的search_images_ddg取代search_images,代码也简洁了许多,方便理解。

!pip install fastbook
import fastbook
from fastbook import *
#NB: `search_images` depends on duckduckgo.com, which doesn't always return correct responses.
#    If you get a JSON error, just try running it again (it may take a couple of tries).
urls = search_images_ddg('bird photos', max_images=10)
urls[0]

        接着产生新的问题,如下代码运行时,提示dest找不到。(ps:如果没报错就不用改,因为我后面想复现问题时,又不报错了)

        重新更改代码顺序后可以正常执行

        接着看后面代码,又报错了

        需要把search_images改成search_images_ddg,如下所示

后面还有几处相同的问题,统一把search_images改成search_images_ddg就好。

这个图片搜索建立数据集的过程用时比较长,手动中止虽然会报错,不影响后面训练。推测是下载了一部分数量的数据被中止的,虽然数据数量没达到设置的最大值,但是也可以使用了。

        接下来整个部分都正常了,从头到尾重新执行一遍总用时343秒。

下面是我修改过的整个版本,点击这里,可以全部正常运行,请放心食用,下期再会...

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值