当前,在深度学习领域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下面。代码如下:
领取专属 10元无门槛券
私享最新 技术干货