本文主要讲解在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变量前,

  

(2)退出tensorflow环境

  使用如下命令可以从tensorflow环境中退出:

source deactivate

  结果如下,可以看到这两种环境下python的执行路径是不相同的

  

二、TensorFlow安装

1、安装

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

  在conda安装时,可以看到TensorFlow需要依赖的package及版本如下:

  

  在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版本。

  

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

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

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
>>>

  运行结果如下所示:

  

  到这里TensorFlow已经正确安装,可以继续进行后续学习了。

  但是考虑到TensorFlow安装在虚拟机中,使用不是很方便,接下来考虑配置一个jupyter notebook server服务可以在浏览器中远程访问,更加方便的使用tensorflow。

4、查看版本和安装路径

  查看TensorFlow的版本:

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

  查看TensorFlow安装路径:

>>> tf.__path__
['/usr/local/ml/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow']

5、TensorBoard启动和访问

  每次启动TensorBoard时可以按照如下命令进行启动,需要用--logdir参数指定SummaryWriter的事件文件写出路径。

tensorboard --logdir /usr/local/ml/anaconda2/envs/tensorflow/logs

  启动后,输出如下信息,默认启动端口号为6006,可以使用后面的帮助信息查看如何在启动时指定其他端口。

Starting TensorBoard 29 on port 6006
(You can navigate to http://192.168.1.100:6006)

  页面如下:

  

  更多启动参数可以查看tensorboard的帮助信息

tensorboard -h

三、Jupyter Notebook远程访问

  在TensorFlow官方文档中正确安装TensorFlow后,还有一小部分文档描述在tensorflow环境下安装IPython。如果完全按照官方文档的提升安装所需组件后,是无法通过浏览器远程使用TensorFlow的。需要在TensorFlow环境下手动安装Jupyter Notebook并且配置其Server方式。

1、Jupyter安装

  去Python安装包下载地址中下载Jupyter安装文件,并按安装过程中的依赖提示,下载并安装Jupyter依赖的安装包。

2、Jupyter Notebook Server配置

  Jupyter安装完成后,需要进行以下一系列操作并配置好配置文件。配置完成后,建议在Chrome浏览器中远程使用,由于浏览器原因遇到的报错会在最后描述。

  参考Jupyter Notebook官方文档中的步骤就可以实现远程访问的功能。

  

(1)生成配置文件

  使用如下命令

jupyter notebook --generate-config

  会在~/.jupyter目录下生成一个名为jupyter_notebook_config.py的配置文件

(2)准备配置的密码

  如下所示,

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

  注意保存上面的Out[2]中生成的内容

(3)生成pem和key文件

  使用如下命令会在当前路径下生成一个mykey.key和一个mycert.pem文件,这两个文件会在后面的配置中使用到。下面的命令会生成有效期为365天的certificate文件。

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem

  

(4)配置配置文件

  这里主要配置第一步中的jupyter_notebook_config.py文件。需要配置的选项如下:

c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha1:bcd259ccf...<your hashed password here>'
c.NotebookApp.open_browser = False # 指定端口号
c.NotebookApp.port = 8888

  配置完成后,在TensorFlow环境下输入jupyter notebook命令,在远程中打开Chrome浏览器,输入https://ip:8888就可以远程访问并使用TensorFLow了。

  最终效果如下:

  

注意事项:

  注意这里最好使用Chrome浏览器,以免遇到莫名其妙的文件。比如我在使用猎豹浏览器时在页面上遇到了404 : Not Found的错误

  

  在后台输出的日志中显示

[W 08:33:55.116 NotebookApp] 404 GET

  换到Chrome浏览器后,问题消失。

主要参考和使用的资源网站:

1、TensorFlow官方文档

2、TensorFlow Github地址

3、jupyter远程访问

4、Anaconda官方下载地址

5、Python安装包下载地址

Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter远程访问的更多相关文章

  1. Windows环境下Anaconda安装TensorFlow的避坑指南

    最近群里聊天时经常会提到DL的东西,也有群友在学习mxnet,但听说坑比较多.为了赶上潮流顺便避坑,我果断选择了TensorFlow,然而谁知一上来就掉坑里了…… 我根据网上的安装教程,默认安装了最新 ...

  2. ubuntu环境下docker安装步骤

    本文是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker 支持以下 Ubun ...

  3. ubuntu环境下jdk安装及jenkins安装

    本文内容参考http://jingyan.baidu.com/article/c33e3f48a3365dea15cbb5c9.html 1 jdk下载 安装 http://www.oracle.co ...

  4. 【初学必备】Win10环境下Anaconda安装

    Anaconda集合了python,Spyder,Jupyter notebook及conda-----包管理器与环境管理器(含常用的panda,numpy等),省去单独下载的繁琐步骤,方便使用. 注 ...

  5. windows 下 Anaconda 安装 TensorFlow

    转自: https://www.cnblogs.com/nosqlcoco/p/6923861.html 什么是 Anaconda? Anaconda is the leading open data ...

  6. win7 使用anaconda安装tensorflow并且在jupyter notebook上启动

    记录一下学习深度学习的小事情: 1.tensorflow 现在只支持windows 64位系统: 2.因为实验室的电脑比较老旧,Gpu配置低,所以选择安装的是tensorflow Cpu版本,对于学习 ...

  7. Linux & Windows 环境下 Redis 安装与基本配置

    索引: 目录索引 参看代码 GitHub: redis.txt 一.Linux (DeepinOS) 环境 .安装Redis服务 sudo apt-get install redis-server . ...

  8. 强化学习 平台 openAI 的 gym 安装 (Ubuntu环境下如何安装Python的gym模块)

    openAI 公司给出了一个集成较多环境的强化学习平台  gym , 本篇博客主要是讲它怎么安装. openAI公司的主页: https://www.openai.com/systems/ 从主页上我 ...

  9. Docker版本与centos和ubuntu环境下docker安装介绍

    # Docker版本与安装介绍 * Docker-CE 和 Docker-EE * Centos 上安装 Docker-CE * Ubuntu 上安装 Docker-CE ## Docker-CE和D ...

随机推荐

  1. Windows下使用console线连接思科交换机

    在XP下可以直接使用内置工具"超级终端",在win7或者更高版本需要下载安装SecureCRT. 本文假设已经下载安装好了SecureCRT. 首先,将电脑连接console线.因 ...

  2. [python]_ELVE_pip2和pip3如何共存

    作者:匿名用户链接:https://www.zhihu.com/question/21653286/answer/95532074来源:知乎著作权归作者所有,转载请联系作者获得授权. 想学习Pytho ...

  3. kafka知识体系-kafka设计和原理分析

    kafka设计和原理分析 kafka在1.0版本以前,官方主要定义为分布式多分区多副本的消息队列,而1.0后定义为分布式流处理平台,就是说处理传递消息外,kafka还能进行流式计算,类似Strom和S ...

  4. 【温故而知新】HTTP 概述

    什么是 HTTP 官方解释是 "因特网的多媒体信使",通俗点说,就是个送信的.电话机出来之前,人与人(有一定距离)之间的沟通基本靠写信,然后由快递员送发.如果把 web 服务器和客 ...

  5. [Codeforces 750E]New Year and Old Subsequence

    Description 题库链接 给出一个长度为 \(n\) 的仅包含数字的字符串. \(q\) 次询问,每次询问该串 \([a,b]\) 段内删去几个数能够使其不含 \(2016\) 的子串,但存在 ...

  6. 注意类型转换——Effective C++

    注意类型转换: C++提供了四种新式类型转换: const_cast<T>(expression); static_cast<T>(expression); dynamic_c ...

  7. Codeforces Round#403 (Div. 1)

    唉,昨天晚上迷迷糊糊地去打cf,结果fst两题,掉回蓝了... A.Andryusha and Colored Balloons 题意:给定一棵树,任意两个距离小等于二的点不能染相同的颜色,求最小颜色 ...

  8. MySQL插件实现浅析——插件的调用

    一. MySQL中的动态插件 最初想到这个问题是在学习mysql半同步复制相关问题的时候,为何在mysql运行时install半同步插件并开启后就能起到作用,他是如何让事务停下来等待的.安装插件的时候 ...

  9. mysql服务无法正常启动

    这个时候多半是ini文件出了问题. 1.去检查你的my.ini的保存编码格式是不是ANSI,如果不是将其改为ANSI (一般我们修改my.ini时,都无法直接保存,而是选择另存为在其他目录下,再去替换 ...

  10. C语言程序设计第四次作业--选择结构(2)

    (一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...