《留言赠书》猫狗大战——基于Pytorch的fastai实现

当前,在深度学习领域Tensorflow是当之无愧的排名第一的框架,但是各大公司也都推出自己的开源框架来挑战Tensorflow的地位。Pytorch是Facebook在torch的基础之上用Python开发出来的深度学习框架,目前在论文中的采用也越来越多,Pythorch的设计,符合Python之蝉,对掌握Python的人员来说,更易于理解,但是,不论Tensorflow还是Pytorch都是基本的计算框架,在开发人员来说,使用还是比较困难的。为了快速的推进深度学习的应用,各大厂商也开发了一些,基于这些计算框架的API库,比较知名的有Keras,目前Keras支持的后端有Tensorflow,Theano,CNTK等。同样为了推进Pytorch的应用,Facebook也开发了一个类似于Keras的API库,这就是fastai。

配置安装

在安装fastai之前,需要先安装Pytorch,Pytorch支持GPU计算,所以安装时要要确认自己的电脑是否支持GPU计算,在这里只安装CPU版。

使用Anacnoda来配置需要两步,如下

第一步,先安装Pytorch:

conda install -c pytorch pytorch-nightly-cpu

conda install -c fastai torchvision-nightly-cpu

第二步,安装fastai:

conda install -c fastai fastai

采用PIP来配置fastai同样也是两步,如下

第一步同样是安装Pytorch:

pip install torch_nightly -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html

第二步安装fastai:

pip install fastai

至此,fastai的配置安装就结束了,接下来将会使用fastai来实现一个简单的图形识别的模型。

CNN实现——猫狗大战

深度学习,目前通常用来解决四类问题:

图像识别

结构化数据分析

自然语言处理

协同过滤

图像识别是目前深度学习应用非常广泛很深入研究的方向之一,fastai在图像识别方面也构建了自己的类库,帮助用户快速实现图像识别的应用。fastai将当前中论文中采用过的模型,都实现在类库中,方便用户直接使用。在这里直接实现一个简单的CNN模型来识别图片中是猫还是狗。fastai提供了当前一些比较常用的数据集,数据集都在fastai.docs下面。代码如下:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181011G0C44900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券