用过一段时间的caffe后,对caffe有两点感受:1、速度确实快; 2、 太不灵活了。
深度学习技术一直在发展,但是caffe的更新跟不上进度,也许是维护团队的关系:CAFFE团队成员都是业余时间在维护和更新。导致的结果就是很多新的技术在caffe里用不了,比如RNN, LSTM,batch-norm等。当然这些现在也算是旧的东西了,也许caffe已经有了,我已经很久没有关注caffe的新版本了。它的不灵活之处就是新的东西很难自己扩展,只能等版本更新,这就比较尴尬。
因此,只学caffe一个工具看来是不行了,还得学习其它工具。该学什么呢?当然是如日中天的tensorflow了,毕竟它背后的团队很强大,功能也比较齐全,更新也很及时。所谓技多不压身,学了caffe后再学tensorflow,两者结合着用。
关于tensorflow的介绍,此处不再啰嗦。关于gpu的安装与配置,此处也不涉及。
一、安装anaconda
tensorflow是基于python脚本语言的,因此需要安装python, 当然还需要安装numpy、scipy、six、matplotlib等几十个扩展包。如果一个个安装,装到啥时候去?(我曾经光安装scipy就装了一天。。。)
不过现在有了集成环境anaconda,安装就方便了。python的大部分扩展包, 都集成在anaconda里面了,因此只需要装这一个东西就行了。
先到https://www.continuum.io/downloads 下载anaconda, 现在的版本有python2.7版本和python3.5版本,下载好对应版本、对应系统的anaconda,它实际上是一个sh脚本文件,大约300M-400M左右。推荐使用linux版的python 2.7版本,因为tensorflow中的有些东西不支持python3.5(如cPickle)。
下载成功后,在终端执行(2.7版本):
# bash Anaconda2-4.1.1-Linux-x86_64.sh
或者3.5 版本:
# bash Anaconda3-4.1.1-Linux-x86_64.sh
在安装的过程中,会问你安装路径,直接回车默认就可以了。有个地方问你是否将anaconda安装路径加入到环境变量(.bashrc)中,这个一定要输入yes
安装成功后,会有当前用户根目录下生成一个anaconda2的文件夹,里面就是安装好的内容。在终端可以输入
conda info 来查询安装信息
输入conda list 可以查询你现在安装了哪些库,常用的python, numpy, scipy名列其中。如果你还有什么包没有安装上,可以运行
conda install *** 来进行安装(***代表包名称),如果某个包版本不是最新的,运行 conda update *** 就可以了。
二、安装tensorflow
先在终端执行:
anaconda search -t conda tensorflow
搜索一下有哪些tensorflow安装包,通过查看版本,选择最高的版本安装。比如我看到是0.10.0rc0版本是最高的,如下图:
因此,执行下面代码来查看详细信息:
anaconda show jjhelmus/tensorflow
它就会告诉你,怎么来安装这个包,在终端执行:
conda install --channel https://conda.anaconda.org/jjhelmus tensorflow
然后输入"y",进行安装。
三、调试
安装成功与否,我们可以测试一下。
在终端输入python,进入python编译环境,然后输入:
import tensorflow as tf
引包tensorflow包,如果没有报错,则安装成功,否则就有问题。
然后可以输入
tf.__version__
tf.__path__
查看tensorflow的安装版本和安装路径(左右各两根下横线)。