目录
基于虚拟沙盒virtualenv的tensorflow-gpu安装
环境配置
台式机操作系统: Windows10 x64 + Linux_Ubuntu16.04LTS
显卡版本:GeForce GTX 1060 6GB/PCIe/SSE2
软件环境参数 python2.7 + tensorflow-gpu_1.1.0 + CUDA + CUdnn
基于虚拟沙盒virtualenv的tensorflow-gpu安装
采用虚拟环境安装的优点就是不需要对环境变量改来改去
1.Linux下安装virtualenv
linux环境下Ctrl+alt+t 进入shell环境,进入python,安装virtualenv
$ python
$ pip install virtualenv --upgrade
创建自己的工作目录,这里笔者在自己的根目录下创建了一个‘tensorflow’文件夹
$ virtualenv --system-site-packages ~/tensorflow
注: 代码中的~为用户根目录
进入该目录,激活沙箱
$ cd ~/tensorflow
$ source bin/activate
(tensorflow) $
2. 在沙箱中安装Tensorflow-gpu
如果没有安装过显卡驱动,需要更新并安装显卡驱动。安装过直接掠过2.1
2.1 安装nvidia驱动
打开“设置 -> 软件和更新”, 选择第一项, 自动下载安装。
安装过后,检测驱动:打开终端,输入
$ nvidia-smi
驱动安装成功会显示如图显卡信息
(还是很不会用linux,就只放着一个图吧```)
2.2 CUDA以及CUDNN的安装
采用版本为:CUDA_8.0.61.run (网盘链接) + CUDNN_8.0-x64-v5.1.tgz文件(网盘文件)
2.3 tensorflow-gpu在线安装
(注!安装tensorflow之前必须已经安装过CUDA及CUDNN)
这里需要注意,如果不在沙箱环境下,还需要进入沙箱(因为是虚拟环境,所以每次运行tensorflow都需要激活环境)
$ cd ~/tensorflow
$ source bin/activate
(tensorflow) $
我们在激活虚拟环境后的一切pip安装操作都在你的工作目录下(笔者这里是~/tensorflow, 即home/usrname/tensorflow)
在进入虚拟环境后安装tensorflow-gpu1.1.0
(tensorflow) $ pip install tensorflow-gpu==1.1.0
这里会安装一系列包,等待一段时间,会显示成功安装.
此时会默认安装一系列包,直至安装成功。
2.4 tensorflow-gpu测试
(tensorflow) $ python
>>>import tensorflow as tf
>>>hello=tf.constant('Hello,Tensorflow!')
>>>sess=tf.Session()
>>>print sess.run(hello)
输出为
Hello,Tensorflow!
如果你进行到这里,恭喜你,你已经安装成功了!!
有的小伙伴习惯juypter notebook,这里也增加说明.Linux下使用jupyter需要在相应的python环境下安装ipython和jupyter
3. jupyter安装
如果你之前安装过jupyter, 会发现,在虚拟环境下打开jupyter notebook,导入tensorflow会显示找不到相应模块,原因是你的虚拟环境中并没有安装jupyter或你在实际环境中已经装过了jupyter, 所以你每次在虚拟环境下运行jupyter系统会找到默认位置的jupyter,而实际环境中并没有安装tensorflow-gpu.
在虚拟环境中输入 which ipython 及 which jupyter可查看引用的包的路径,应该为虚拟环境安装路径,而不是系统路径
此时你需要卸载装过的ipython和jupyter.
3.1 卸载jupyter和ipython
1. 卸载ipython
$ sudo pip uninstall ipython
此时可以进入虚拟环境输入 which ipython, 此时回车并没有输出
2.卸载jupyter(很费力)
$ sudo pip uninstall jupyter
安装jupyter会有很多附加的包安装
- notebook
- nbconvert
- nbformat
- ipykernel
- ipywidgets
- qtconsole
- traitlets
- tornado
- anything with jupyter in front of it(jupyter_core, jupyter_client etc.)
- ipython_genutils
- jinja2
其中 anything with jupyter in front of it(前缀包含jupyter的所有文件)可以通过一下命令查找
$ pip freeze | grep jupyter
jupyter-client==5.2.4
jupyter-console==5.2.3
jupyter-core==4.4.0
在卸载过一遍之后,再来强力清除一下这些文件
$ sudo pip uninstall notebook nbconvert nbformat ipykernel ipywidgets qtconsole traitlets tornado jupyter-client==5.2.4 jupyter-console==5.2.3 jupyter-core==4.4.0 ipython_genutils jinja2 -y
验证一下,终端输入
$ jupyter --version
提示没有此文件或目录,恭喜你,jupyter卸载完毕了.
3.2 虚拟沙箱中的jupyter安装
(tensorflow) $ pip install ipython
(tensorflow) $ pip install jupyter
安装好后可以通过which ipython/jupyter查看引用的包所在路径
此时在虚拟环境中运行jupyter notebook, 倒入tensorflow就不会有错了哦
参考:
- https://www.jianshu.com/p/a8d4df740218
- TensorFLow技术解析与实战
- https://stackoverflow.com/questions/42261041/how-to-uninstall-jupyter-notebook-that-was-installed-with-pip3/42277762#42277762