专栏名称: 51CTO
51CTO官方公众号——聚焦最新最前沿最有料的IT技术资讯、IT行业精华内容、产品交流心得。本订阅号为大家提供各种技术干货,还会不定期的举办有奖活动,敬请关注。
目录
相关文章推荐
36氪  ·  杨子的财产,黄圣依能分多少 ·  4 天前  
新浪科技  ·  【#银行大额存单还香吗#】10月18日,工商 ... ·  6 天前  
51好读  ›  专栏  ›  51CTO

干货 | TensorFlow 安装教程

51CTO  · 公众号  · 科技媒体  · 2016-12-29 11:45

正文


本文转载自小米开放平台(ID:xiaomideveloper)


作者

王蕾   MIUI部门

专注机器学习算法与大数据处理


准备Anaconda环境
1

tensorflow是属于很高层的应用。高层应用的一个比较大的麻烦就是需要依赖的底层的东西很多,如果底层依赖没有弄好的话,高层应用是没法玩转的。 


在极客学院有关tensorflow的教程中,提到了这样几种安装方式:Pip, Docker, Virtualenv, Anaconda 或 源码编译的方法安装 TensorFlow。在这里,我强烈推荐大家使用Anaconda的方式安装!因为采用这种方式安装的时候,相当于将所有的底层依赖细节全部已经打包给封装好了!并且,Anaconda还能创建自己的计算环境,相当于将tensorflow的环境与其他环境做了隔离,这样你就可以将tensorflow随便玩,爱怎么玩怎么玩,也不用担心破坏之前的环境! 


如果是玩数据玩ML的同学,如果你还不知道Anaconda,你就out啦!Anaconda是一个基于python的科学计算平台,这个平台里包含有python,r,scala等绝大部分主流的用于科学计算的包。


01

原生python的不方便

作为一个数据与算法工作者,Python的使用频率很高。现阶段python做科学计算的标配是numpy+scipy+matplotlib+sklearn+pandas。可惜的是,原生的python是不带这些包的。于是,每次遇到一个新机器,需要安装这些包。更可气的是,昨晚为了在新机器上安装sklearn,足足花了两小时。作为一个搭建了无数次科学计算环境的老司机还遇到这种情况,估计新手们就更无比郁闷了。于是老司机就想,有没有一个东西把所有常用的科学计算工具都集成好,这样就省了每次搭环境的天坑。。。google一把,发现了这个主角:Anaconda。


02

先看看Anaconda

Anaconda:蟒蛇,估计来源就是python logo里那条可爱的小蟒蛇吧。 

mac版下载地址:https://www.continuum.io/downloads#_macosx 
看看官网首页是怎么介绍的: 
Anaconda is the leading open data science platform powered by Python. The open source version of Anaconda is a high performance distribution of Python and R and includes over 100 of the most popular Python, R and 
Scala packages for data science. Additionally, you’ll have access to over 720 packages that can easily be installed with conda, our renowned package, dependency and environment manager, that is included in Anaconda. Anaconda is BSD licensed which gives you permission to use Anaconda commercially and for redistribution. See the packages included with Anaconda and the Anaconda changelog.

通过上面这段牛逼闪闪的介绍,我们知道Anaconda是一个基于python的科学计算平台,这个平台里包含有python,r,scala等绝大部分主流的用于科学计算的包。

接下来自然就是开始下载了。因为集成有很多牛逼科学计算包的缘故,所以安装包自然也小不了,比如我下载的mac版就有360M。那就慢慢下着吧。还好网络虽然不是很快,好歹还是稳定的,能到一两百k,一个小时左右能下完。

03

安装配置

下载完成以后,跟mac里安装普通软件一样,双击安装即可。 

安装完以后,开始进行相应的配置。因为我平时使用eclipse开发,正好官网都贴心地给出了在IDE里怎么配置使用,里面就有eclipse,前提是eclipse已经安装了pydev插件。

以下eclipse配置方法来自官网: 
After you have Eclipse, PyDev, and Anaconda installed, follow these steps to set Anaconda Python as your default by adding it as a new interpreter, and then selecting that new interpreter:

Open the Eclipse Preferences window: 
 
Go to PyDev -> Interpreters -> Python Interpreter. 
Click the New button: 
 
In the “Interpreter Name” box, type “Anaconda Python”. 
Browse to ~/anaconda/bin/python or wherever your Anaconda Python is installed. 
Click the OK button. 
 
In the next window, select all the folders and click the OK button again to select the folders to add to the SYSTEM python path. 
 
The Python Interpreters window will now display Anaconda Python. Click OK. 
 
You are now ready to use Anaconda Python with your Eclipse and PyDev installation.

04

查看Anaconda的基本用法

配置完成以后,查看一下此时系统的python:


此时,系统默认的python已经变成了Anaconda的版本! 
为什么会这样呢?原来是安装过程中,偷偷给我们在home目录下生成了一个.bashrc_profile文件,并在里面加入了PATH:


所以这个时候我们的bash里使用python的话,已经指向了anaconda里的python解释器。 
如果使用的不是mac的标准bash,而是zsh,不用着急,将上面一行配置复制粘贴到.zshrc文件中,然后source一下.zshrc文件即可!

执行一下conda命令:


信息太长了,后面的部分就不列举了。不过看到前面这部分选项,就已经足够让我们兴奋了:基本的list,search,install,upgrade,uninstall等功能都包含,说明我们可以向apt-get一样方便管理python的各种依赖了。。。

先list一下,查看里面都带了哪些牛的科学计算包:


好吧,至少我常用的都已经在这了。太方便了。

05

写个demo测试一下sklearn

为了测试一下是不是真像传说中那么好用,从网络上现找了部分简单的测试代码:


让代码run起来,得到如下结果:


好吧,sklearn表现正常,能正常输出预期结果。看来,Anaconda确实是为搞算法与数据的同志们提供了一个非常好的工具,省去了我们各种搭环境找依赖包的烦恼!


建立名叫tensorflow的计算环境
2

Anaconda的环境准备好了以后,接下来我们建立一个conda的计算环境,给这个环境取名叫tensorflow:


因为我们的版本是2.7,所以执行上面的命令。


GFW只要是个英文网站就给墙了。无奈地将上述命令重试。终于,重试了n次以后,搞定了 !


激活tensorflow环境 用pip安装TensorFlow
3

第二步成功以后,先激活tensorflow环境。


然后界面华丽丽地就变成了这样: 


用户名前有(tensorflow)的标识。我们这样切换,实际上是更换了环境变量里的pip和python。切换到tensorflow的计算环境以后,然后开始用pip安装:


当然上面的命令对应的是python2.7,系统为macos,cpu only。根据tensorflow官方提供的资料,不同的系统与不同的版本命令如下:

python2.7


pytho3.x:


命令提交以后,你唯一能做的就是等待了。

还好这次不用重试n次,一次搞定: 

至此,tensorflow算是安装OK了!


简单测试是否安装成功
4

测试过程很简单,直接上图: 

表现良好!给自己鼓个掌!


集成到IDE里
5

如果我们要写大家伙,一般会用IDE。将tensorflow集成到IDE里,步骤也很简单。以IntelliJ为例,跟创建普通项目唯一的区别就是,创建普通项目的时候我们的Module SDK选项是系统默认的python解释器。如果我们想要使用tensorflow的相关代码,将Module SDK换为刚刚我们新建的tensorflow计算环境即可! 

贴个图,大伙就懂了: 



值得注意的几个小点
6
  1. 强烈推荐使用Anaconda环境安装,真的不是一般的简单方便。 

  2. 梯子,还是梯子,不解释。 

  3. 激活与退出tensorflow计算环境:



想了解更多

那就快来关注我们

长按二维码关注开放小助理