Press "Enter" to skip to content

使用Fastai和colab进行机器学习,简单猫狗图像识别

一、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

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注