用过一段时间的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的安装版本和安装路径(左右各两根下横线)。

最新文章

  1. Thinkphp3.2.3路径书写注意
  2. ubuntu自定义分辨率
  3. 解决VS2015启动时Package manager console崩溃的问题 - Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope
  4. python学习之关键字
  5. lua中string.find()函数作用于汉字字符串
  6. Web加载资源问题
  7. [SmartFoxServer概述]SFS2X特点
  8. iOS 手势操作:拖动、捏合、旋转、点按、长按、轻扫、自定义
  9. 浅谈用java解析xml文档(三)
  10. label标签的属性
  11. 【SVN Working copy is too old (format 10, created by Subversion 1.6)】解决方式
  12. 【线段树成段更新成段查询模板】【POJ3468】A Simple Problem with Integerst
  13. Git常用命令(二)------ 远程库操作
  14. 英语口语练习系列-C09-常用动词
  15. 41)django-admin
  16. typescript类(学习笔记非干货)
  17. JDK8的ConcurrentHashMap也会造成CPU 100%
  18. 《Linux内核设计与实现》Chapter 18 读书笔记
  19. bzoj2054: 疯狂的馒头(并查集)
  20. WHY学习python?

热门文章

  1. .Net Core WebAPI 基于Task的同步&异步编程快速入门
  2. js实现右下角可关闭最小化div
  3. mvc view 中 js 不反应
  4. arcgis for flex全国地图天气预报的具体实现过程解析
  5. iOS开发中<null>的处理
  6. ArcGIS安装错误1402
  7. 浅谈Bluetooth蓝牙开发
  8. 你真的了解UITabBarController吗?
  9. OC KVC
  10. [windows]win10家庭版切换到管理员账户