tensorflow GPU版本的配置
tensorflow-gpu1.10.1+cuda9.0+cudnn7.0.5 这是已经测试成功的版本搭配
- 注意:以后安装之前,就要查清楚版本匹配问题-血琳琳的教训
- cuda cudnn 显卡驱动,tensorflow4个版本号之间的搭配
- https://www.cnblogs.com/wolflzc/p/9117291.html 显卡驱动的搭配
- http://www.cnblogs.com/hutao722/p/9342577.html tensorflow 1.10的cuda等内容的搭配
- 显卡驱动的版本 cat /proc/driver/nvidia/version
- cuda的版本 cat /usr/local/cuda/version.txt (安装好之后)
- 我的ubuntu1060的显卡,驱动最新是390.87,不能装9.2的cuda,只能装9.1及以下的。
- 如果装9.1的cuda,能够支持什么版本的tensorflow呢?
- 在配置好GPU环境的Tensorflow中,如果操作没有明确地指定运行设备,Tenserflow会优先选择GPU。
- 如果要指定用cpu,那么使用with tf.device('/cpu:0'):相关的语句
- cuda cudnn 显卡驱动,tensorflow4个版本号之间的搭配
- cuda卸载
- 在/usr/local/cuda/bin 目录下,有cuda 自带的卸载工具uninstall_cuda_9.1.pl
- cd /usr/local/cuda/bin
- sudo ./uninstall_cuda_9.1.pl
- 在/usr/local/cuda/bin 目录下,有cuda 自带的卸载工具uninstall_cuda_9.1.pl
- cudann卸载
- /usr/local/cuda的目录下面把相应的include ,lib文件夹手动删除
- cuda安装:
-
-
- vim ~/.bashrc
- 查看是否有以下环境变量,若无请自行添加:
- export PATH="/usr/local/cuda-9.2/bin:$PATH"
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
- export CUDA_HOME=/usr/local/cuda
- 使得添加的环境变量立即生效
- source ~/.bashrc
-
- 测试cuda
- cd NVIDIA_CUDA-9.1_Samples
- sudo make all –j8
- cd bin/x86_64/linux/release\
- ./deviceQuery
- cudann
- cudnn安装
- cudann的软链接问题:
- 问题现状: ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory
- 解决方案:https://blog.csdn.net/weixin_40298200/article/details/79420758
- cd /usr/local/cuda/lib64
- sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有版本号,版本号在cudnn/lib64中查询
- sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 #生成软连接,注意自己下载的版本号
- sudo ln -s libcudnn.so.7 libcudnn.so
- sudo ldconfig #立即生效
- ldconfig命令的用途主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。
- 测试tensorflow -gpu版本
- 先安装gpu版本,后测试。我自己是把cpu版本给卸载之后安装的gpu版本
- 测试代码:
import numpy
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))
- 相关问题汇总:
- 测试cuda时候,如果出现问题CUDA driver version is insufficient for CUDA runtime version
- 考虑显卡的驱动是否不支持这个cuda,每个cuda版本有显卡驱动要求,而显卡驱动受到了显卡类型的限制
- 问题现状: ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory
- 软链接没有建立,或者是libcudnn的版本有问题,或者是配置环境变量出错
- cudnn解压问题:出现tar: cuda/lib64/libcudnn.so:无法创建到 “libcudnn.so.5” 的符号连接: 函数未实现cuda/lib64/libcudnn.so.5这个问题
- 如果已经出现了cuda这个文件夹,那么暂时忽略。
- 如果没有出现,可能要修改第一个错误中的文件的权限
- 测试cuda时候,如果出现问题CUDA driver version is insufficient for CUDA runtime version