linux安装anaconda+jupyter notebook+tensorflow环境
今天在linux上安装tensorflow遇到一些坑,所以写下博客记录一下。
1、安装anaconda
anaconda组织了非常多的Python科学计算、数据分析的包,比如numpy和pandas等,不需要我们一个一个地安装这些包,非常方便。
浏览器进入anaconda下载页,下载对应版本的 .sh 包,下载完毕后打开终端,运行该下载文件即可安装
$ /usr/Downloads/Anaconda2-x.x.x-Linux-xx.sh
一路按下 enter 键,按照默认配置安装
然后,终端输入 $ conda -V ,如果显示版本号即说明安装成功。否则可能是环境变量的问题。
2、安装tensorflow
需要注意的是tensorflow官方支持的linux发行版本为ubuntu,不过其它版本也可以安装和使用,只是bug的fix支持力度不大
安装教程在 这里 如果无法访问,请往下看,否则直接跳第三步
在anaconda中创建名字为"tensorflow"的环境,我理解为anaconda的命名空间,可以统一管理包的引入问题,稍后解释
$ conda create -n tensorflow pip python=2.7 # python版本请根据需要更换,比如3.6
激活这个环境:
$ source activate tensorflow
此时你的终端的前面会出现(tensorflow)字样,代表你目前在tensorflow环境中,则你可以使用和管理属于这个环境的包,注意如果要使用这里的包需要先激活它
现在,在这个环境中安装tensorflow必须的包:
$ pip install --ignore-installed --upgrade tfBinaryURL
注意 tfBinaryURL 需要根据tensorflow版本而改变,对应的URL如下:
如果你的电脑没有NVDIA GPU,则需要安装cpu-only版本
python2.7 https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.6.0-cp27-none-linux_x86_64.whl
python3.6 https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.6.0-cp36-cp36m-linux_x86_64.whl
NVDIA GPU supported:*
python2.7 https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp27-none-linux_x86_64.whl
python3.6 https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp36-cp36m-linux_x86_64.whl
*注意:如果你安装gpu版本则需要提前启动nvdia-docker容器:
$ nvidia-docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow:latest-gpu # 8888:8888是hostport:containerport 后面是tensorflowiGPUImage
按上述配置,你可以在jupyter notebook使用GPU supported的tensorflow
现在,检验你在该一步的安装情况:
确保你的tensorflow环境是激活状态,输入
$ python
则出现 >>> 的python交互prompt
输入:
1 import tensorflow as tf 2 3 hello = tf.constant('Hello, TensorFlow!') 4 5 sess = tf.Session() 6 7 print(sess.run(hello))
如果显示 Hello, TensorFlow! 则配置成功,否则可能是环境的问题
3、使用notebook
为了在notebook中可以直接使用tensorflow的包,需要在tensorflow被激活情况下,安装
$ conda install ipykernel # ipykernel是你在该环境使用notebook的cond内核,
然后进入notebook
$ jupyter notebook
进入编辑界面,更改你的notebook内核
菜单栏,依次 Kernel -> chage kernel -> Python [conda env:tensorflow]
在编辑框中输入
import tensorflow as tf
若没有ERROR则这一步配置成功,否则conda内核没有配置成功
解释上面提到的conda环境,最直接的影响就是你在当前环境下只能引入当前环境的包,即便在conda环境中安装的包对你也是不可见的。