一、Fastai和colab简介
Fastai的目的就是让机器学习不再那幺高大上,它使用了现代最佳实践简化了快速准确的神经网络训练。fastai是一个课程平台,一个讨论社区,也是一个PyTorch的顶层框架。
Colaboratory 是谷歌的一个免费的 Jupyter 笔记本环境,不需要进行任何设置就可以快速使用,并且完全在云端运行。
借助 Colaboratory,可以编写和执行代码、保存和共享分析结果,以及利用强大的计算资源,所有这些都可通过浏览器免费使用。选择用colab来做深度学习的最大优点就是它强大的GPU/TPU资源,对于深度学习的网络训练,并行计算用gpu速度可比cpu快得多。
所以通过在colab上运行fastai,就能免费地在云端训练我们的机器学习模型了。
二、安装
设置GPU加速:
安装fastbook:
!pip install -Uqq fastbook import fastbook fastbook.setup_book()
输入验证码以后就安装成功了。
然后会自动挂载你的google云盘,并创建目录。
至此,就已经安装完成,然后让我们开始写代码。
三、代码
本次训练用的数据集来自于Oxford-IIIT宠物数据集,包含了37种不同的猫狗图片。
首先下载图片:
获取图片文件,打印数量:
图片数据集为了方便我们知道哪些图片是猫,哪些图片是狗,特定在命名的时候以大小写进行了区分,大写的都是猫,小写的都是狗,所以我们可以写一个函数判断是猫还是狗,然后打上标签:
def label_func(f): return f[0].isupper()
创建数据加载器,并调整大小,然后打印出来:
然后创建一个学习模型,并进行微调:
learn = cnn_learner(dls, resnet34, metrics=error_rate) learn.fine_tune(1)
训练完了以后,就可以进行预测了:
Be First to Comment