第一次写博客,新手一枚,CSDN之路,多多指教。如果想在windows上装tensorflow gpu版,请参考【Windows】TensorFlow GPU Configuration(或者见附录)
(超完整)Linux(debian9)服务器配置tensorflow环境:nvidia驱动、CUDA、cudnn、anaconda
阿里云centOS6 下python安装及配置、pip安装及配置、ipython安装及配置
“libcudnn.so.5 cannot open shared object file: No such file or directory”
libcudnn.so.6 –csdn下载
给妹纸的深度学习教学(6)——实用技巧
配置Cuda9.0 Cudnn7.0 Tensorflow-gpu 1.8 也同样适用 ,eg
Note:因为我服务器本身就是root 账户,所以不需要sudo 指令。
Ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动。
将驱动添加到黑名单blacklist.conf中,但是由于该文件的属性不允许修改。所以需要先修改文件属性。
查看属性
ls -lh /etc/modprobe.d/blacklist.conf
修改属性
chmod 666 /etc/modprobe.d/blacklist.conf
用vim编辑器打开
vim /etc/modprobe.d/blacklist.conf
在该文件后添加一下几行:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
驱动下载地址:http://www.nvidia.cn/Download/Find.aspx?lang=cn
安装驱动程序
sh NVIDIA-Linux-x86_64-xxx.run
可以通过以下命令确认驱动是否正确安装
cat /proc/driver/nvidia/version
CUDA8.0版本
直接安装CUDA toolkit,官网如下
https://developer.nvidia.com/cuda-80-ga2-download-archive
或者链接:https://pan.baidu.com/s/19BjPkSU2FJObF9avp6Z-ug 密码:70w9
cuda_8.0.61_375.26_linux.run(文件名)
sh cuda_8.0.61_375.26_linux.run
按照提示一步一步来,不用安驱动,q
可以跳过协议的文字描述!
安装结束后添加环境变量(我习惯用vim)
vim /etc/profile
shift+g
调到文件末尾,在最后面添加
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
保存退出,通过 source
使其生效
source /etc/profile
查看下 cuda
的版本
nvcc -V
nvcc --version
如果显示如下,则CUDA安装完成
cat /usr/local/cuda/version.txt
要下载合适的版本
https://developer.nvidia.com/rdp/cudnn-download (官网)
cudnn-8.0-linux-x64-v5.1.tgz(不兼容)
解决方案:
cudnn-8.0-linux-x64-v6.0.tgz(兼容)
http://download.csdn.net/download/guotong1988/9918527
或者在百度云盘下载,链接:http://pan.baidu.com/s/1dFs8o4D 密码:a0da
tar -xvzf cudnn-8.0-linux-x64-v6.0.tgz
解压后是cuda文件夹
cd cuda
cp include/cudnn.h /usr/local/cuda/include
cp lib64/libcudnn.* /usr/local/cuda/lib64
CUDNN安装完成,查看下版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
以下这个图是我升级后的版本,此版本是 7.1.3
https://www.continuum.io/downloads(官网,比较慢)
例如这个版本
Anaconda3-5.0.0.1-Linux-x86_64.sh
sh Anaconda3-5.0.0.1-Linux-x86_64.sh
进行安装,安装目录为
/home/userName/anaconda3
最后出现是否添加环境变量选择yes,如果选择了no,可以之后手动添加,方法如下
vim ~/.bashrc
在最后添加
export PATH=$PATH:/home/userName/anaconda3/bin:$PATH
source ~/.bashrc
使其生效(ps.自动添加也需要source这一步)
之后
pip -V
查看下pip的安装路径,
显示在
/XXXX/anaconda3/lib/python3.6/site-packages
补充 用conda创建python虚拟环境,常用指令
用pip install tensorflow_gpu 安装就没有问题了
下面的指令是安装最新版本的
pip install tensorflow-gpu
这个安装往往特别慢,接着看
如果不想安装最新版本,可以后面加上==XXX 安装指定版本
pip install tensorflow-gpu==1.4
如果中途失败,或者下载速度不够块,换源,不会的小伙伴可以参考这篇文章
http://blog.csdn.net/qq_32897957/article/details/53023738
或者加个timeout,后面是时间,能保证不会因为长时间没有网速而断开下载
pip install tensorflow-gpu --timeout 1000
超级加速(★★★★★推荐)
让PIP源使用国内镜像,提升下载速度和安装成功率。对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。
国内源:
新版ubuntu要求使用https源,要注意。
临时使用:
可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
例如:pip install pyspider -i https://pypi.tuna.tsinghua.edu.cn/simple
,这样就会从清华这边的镜像去安装pyspider库。
参考:Python- 解决PIP下载安装速度慢
pip freeze
软件的版本特别重要,这个指令能帮你很大的忙!
python
import tensorflow
如果之前安装的cudnn文件是cudnn-8.0-linux-x64-v5.1.tgz,则会出现以下问题:
核心部分是
解决方法就是安装这个版本的cudnn,cudnn-8.0-linux-x64-v6.0.tgz
测试样例
$ 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
>>>
结果如下代表配置成功,大功告成
如果报错
ImportError: libnvidia-fatbinaryloader.so.384.111: cannot open shared object file: No such file or d……
解决方案
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}:/usr/lib/nvidia-384/
记得保存下环境,见前面的anaconda保存环境的方法
参考ImportError: libnvidia-fatbinaryloader.so.384.111: cannot open shared object file: No such file or d
如果机器中有多块GPU,tensorflow会默认吃掉所有能用的显存, 如果实验室多人公用一台服务器,希望指定使用特定某块GPU。 可以在文件开头加入如下代码
import os
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"]="0,1"
0是0号GPU,1是1号GPU
import tensorflow as tf
tf.__version__
pip freeze | grep tensorflow
看 keras 的版本也一样
import keras as k
k.__version__
pip freeze | grep Keras
有一次,我在另一个设备上装好后(GTX 1080ti),import tensorflow 总是失败,错误提示如下:
ModuleNotFoundError: No module named 'tensorflow'
找了很多原因,发现/anaconda3/lib/python3.6/site-packages目录下,并没有
tensorflow,是pip的安装位置出错了。pip -V可以查看pip安装内容所在的位置。要修改的话,可以用如下指令
vim /etc/sudoers
在11行Defaults设置,secure_path中,加入anconda的绝对路径,例如:
/home/your_username/anaconda3/bin:/
最后pip -V 确认下安装的路径
pip 9.0.1 from /home/your_uername/anaconda3/lib/python3.6/site-packages (python 3.6)
如果是在/anaconda3/lib/python3.6/site-packages下,再按照第5)步,安装tensorflow。
成功解决:FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is
FutureWarning: Conversion of the second argument of issubdtype from float
to np.floating
is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type
.
from ._conv import register_converters as _register_converters
包内出错,是h5py包
对h5py进行更新升级
pip install h5py==2.8.0rc1
没有错误,大功告成!
转载 Windows10下安装Tensorflow-GPU
Python 3.6.6(Anaconda3以上版本) + CUDA 9.0 + cuDNN 7.0 + visual studio 2015(其它版本也行)
百度云链接:https://pan.baidu.com/s/1xsjmn8kO3cTrHg-ywnh9Aw
1)Python3.6.6 或者 Anaconda 3
推荐用Anaconda ,因为很多库都已经装好,不用手动安装
在安装python只要勾选 Add to Path 这个选项,其他默认即可,安装地址可以更改。下图是截取别人的图,实际版本不是这个。
进入cmd,输入python,看到下图就是安装成功了。
如果选择用Anaconda3(推荐)——Anaconda的安装与测试实例,则需要把Anaconda 的环境加入系统中
具体添加细节可以参考这篇博客
anaconda安装及环境变量配置
打开Anaconda Prompt,输入 python 测试
2) Cuda 9.0
下载地址:https://developer.nvidia.com/cuda-90-download-archive
按照常规软件安装即可,可能会短暂的黑屏
安装完毕后,在安装目录下,比如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
可以看到如下内容。
打开命令行,输入nvcc -v.看到如下则表示安装成功。
再去环境变量中看下
要有这两个变量,没有自己添加。地址如图所示。
3)cuDNN
下载地址:https://developer.nvidia.com/rdp/cudnn-archive
选择Windows10版本,下载这个需要注册以及回答一些问卷,随便填都没事。下载后是一个压缩包,安装完CUDA后需要用到这个解压后的文件。
我们把下载好的文件解压,如图所示。
将这些文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0目录中。如下图所示。
4)visual studio 2015(其它版本也行,比如2013)
下载地址:https://blog.csdn.net/guxiaonuan/article/details/73775519?locationNum=2&fps=1 我选择的是社区版本,其他版本应该也没问题。安装这个比较费时间,文件比较大。
在安装visual studio 2015过程需要一步注意,需要勾选下图的选项。此外,这个安装后才能安装CUDA。
VS2013 下载地址
链接:https://pan.baidu.com/s/1F1ej7lJlpGp3g5go2YtW7Q 密码:078f
把我们下载后的软件双击,
点击下图最后一个文件安装
接下来就是等待安装过程了。注意上面提到的安装过程即可。安装路径可以修改。
5) Tensorflow-GPU
在命令行下安装tensorflow-gpu,pip3 install tensorflow-gpu
在这里,我遇到一个问题,解决方法是下载numpy这个库,在重新安装。pip unstall numpy。然后在pip install numpy。接着在继续输入pip3 install tensorflow-gpu。如果有问题可以百度下解决方案。
如果安装的anaconda的话,打开 Anaconda Prompt
pip install tensorflow-gpu
,pip3 install tensorflow-gpu==XXX
可以下对应版本的 TensorFlow,比如 1.8
,pip下载东西加速的方法可以参考这篇博客 服务器上配置 Tensorflow GPU 版。
如果 用 Anaconda 安装的话,就不会存在这种问题了
安装完成后打开 python
用以下指令看下tensorflow版本。
import tensorflow as tf
tf.__version__
6)测试
接着我们来测试下是不是在GPU下运行。
import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print (sess.run(c))
可以看到GPU的信息。
在GPU上运行。
7)心得体会
1 安装过程很繁琐,需要耐心
2 有些问题可以参考别人的答疑
3 GTX1060的驱动最好事先安装好,我这是先来的主机,所以是自己装的。
4 参考https://www.leiphone.com/news/201711/GCh0IBszXrxP1iHU.html
5 多试错多犯错
8)赠品
Pycharm及python安装详细教程
pip install keras==2.1.6 -i https://pypi.tuna.tsinghua.edu.cn/simple
conda install opencv
9)错误总结
用 anaconda 安装完 tensorflow 后 pip 出故障
TypeError: parse() got an unexpected keyword argument 'transport_encoding'
解决方法 TypeError: parse() got an unexpected keyword argument ‘transport_encoding’ 安装tensor后报错
conda install pip==9.0.1