Ubuntu下Anaconda安装TensorFlow并配置Jupyter远程访问

NSapientia 2017-03-28

本文主要讲解在Ubuntu系统中,如何在Anaconda下安装TensorFlow以及配置Jupyter Notebook远程访问的过程。

在官方文档中提到,TensorFlow的安装主要有以下五种形式:

  1. Pip安装:这种安装形式类似于安装其他的Python安装包。会影响到机器上当前的Python环境,可能会与已安装的某些版本相冲突。
  2. Virtualenv安装:将TensorFlow安装在指定路径下,与当前的Python环境相隔离。
  3. Anaconda安装:以Anaconda为基础安装TensorFlow,和上面的形式相同,也与当前Python环境相隔离。在使用TensorFlow时不影响其他Python应用的使用。
  4. Docker安装:在Docker中隔离安装TensorFlow
  5. 从源码安装:编译源码生成TensorFlow的安装whell文件。

    在安装过程中,尝试了Pip安装和Anaconda安装两种形式。其中Pip安装过程比较简单,按照官方文档中的步骤进行即可。接下来主要描述的是Anaconda安装的过程。

一、Anaconda和TensorFlow环境

1、Anaconda安装

首先去本文最后的Anaconda官方下载地址下载Anaconda安装文件Anaconda2-4.2.0-Linux-x86_64.sh
  下载完成后上传到服务器中,在文件路径下执行如下命令:
bash Anaconda2-4.2.0-Linux-x86_64.sh

接下来按照提示设置一些安装路径等参数,Anaconda安装完成后,会安装很多Python中常用的package,比如ipython和jupyter等。

2、TensorFlow环境配置和切换

安装完成后,使用如下命令生成一个名为tensorflow的conda环境,根据python版本选择正确的命令执行即可

# Python 2.7
$ conda create -n TensorFlow python=2.7

# Python 3.4
$ conda create -n TensorFlow python=3.4

# Python 3.5
$ conda create -n TensorFlow python=3.5

生成conda环境主要是可以自由切换tensorflow环境和普通python环境。
(1)进入TensorFlow环境
  使用如下命令进入TensorFlow环境:
source activate tensorflow
  此时界面如图所示,可以看到,在这里会将/usr/local/ml/anaconda2/envs/tensorflow/bin配置到PATH变量前,
  Ubuntu下Anaconda安装TensorFlow并配置Jupyter远程访问

(2)退出tensorflow环境
  使用如下命令可以从tensorflow环境中退出:
source deactivate
  结果如下,可以看到这两种环境下python的执行路径是不相同的
  
Ubuntu下Anaconda安装TensorFlow并配置Jupyter远程访问

二、TensorFlow安装

1、安装

在官方文档中介绍了在Anaconda中安装TensorFlow有两种方法,一种是使用conda安装,另一种是使用pip安装。在实际操作时发现由于网络原因,稍大一点的安装包就会长时间卡住无响应。可以考虑将需要的安装包下载后以local模式进行安装,在操作中发现pip安装可下载的资源比较多,而conda安装资源比较难找,所以接下来以pip的方式进行安装。
  在conda安装时,可以看到TensorFlow需要依赖的package及版本如下:
Ubuntu下Anaconda安装TensorFlow并配置Jupyter远程访问

在pip安装模式下,根据安装过程的提升,将对应版本的安装文件从本文最末的Python安装包下载地址中下载到本地。比如在此次安装过程中,我手动下载了几个比较大的安装文件,如下所示

pip install numpy-1.11.2-cp27-cp27mu-manylinux1_x86_64.whl
pip install protobuf-3.0.0-py2.py3-none-any.whl
pip install tensorflow-0.11.0rc0-cp27-none-linux_x86_64.whl

2、遇到的报错

安装完成后,在tensorflow环境下执行示例代码时发现了如下的一个报错

ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory
...
Error importing tensorflow. Unless you are using bazel

经排查发现是tensorflow安装文件下载错误导致的。我本想安装的是CPU Only版本,而错误安装了一个GPU enabled版本。
  Ubuntu下Anaconda安装TensorFlow并配置Jupyter远程访问

有关该错,还可以参考官方文档中的详细描述

重新安装对应版本后错误消失。

3、验证安装是否正确

官方文档中提供一段检查tensorflow安装是否正确的代码,如下所示

$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>

运行结果如下所示:
  Ubuntu下Anaconda安装TensorFlow并配置Jupyter远程访问

到这里TensorFlow已经正确安装,可以继续进行后续学习了。
  但是考虑到TensorFlow安装在虚拟机中,使用不是很方便,接下来考虑配置一个jupyter notebook server服务可以在浏览器中远程访问,更加方便的使用tensorflow。

4、查看版本和安装路径

查看TensorFlow的版本:

>>> import tensorflow as tf
>>> tf.__version__
'0.11.0rc2'

查看TensorFlow安装路径:

相关推荐