1.前提:本机已安装tensorflow-gpu
2.检测:
import tensorflow as tf
sess=tf.Session(config=tf.ConfigProto(log_device_placement=True))
3.目的:
查看日志信息,若包含gpu信息,就是使用了gpu。
其他方法:跑计算量大的代码,通过 nvidia-smi 命令查看gpu的内存使用量
4.返回:
CUDA driver version is insufficient for CUDA runtime version
#CUDA程序版本不足以支持CUDA运行时版本
5.错误原因:
CUDA版本对显卡驱动版本有要求
6.什么是CUDA?
是Nvidia推出的只能用于自家GPU的并行计算框架,是通用计算,用CUDA计算大数据量的计算,须调用CUDA库提供的函数以传递给CUDA,CUDA再调用显卡用户态驱动对CUDA程序进行编译,显卡用户态再调用内核态驱动将命令以及编译好的程序数据传递给GPU计算
可参考知乎:https://www.zhihu.com/question/59184480
7.怎么做:
(0)可由官网:http://developer.nvidia.com/cuda-gpus查看支持NVIDIA的型号(有1050没有1050Ti打算试试)
(1)查看显卡型号:Nvidia GeForce GTX 1050 Ti
(2)显卡驱动版本:8.1.940.0
(3)CUDA版本:cuda toolkit 10.0.130
须使得版本对应,参照
上图可见于链接:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
链接以下载驱动:https://www.geforce.cn/drivers
选择GeForce-GeForce 10 Series-GeForce GTX 1050Ti
出现:
选择需要的版本进行下载
8.当然也可以是降低CUDA版本
—本机选择降低CUDA版本
电脑右击–nvidia控制面板–上面选择帮助–系统信息–组件–
方框内所示即支持的cuda版本
官网:https://developer.nvidia.com/cuda-toolkit-archive
下载再安装
注:因本机安装了Anaconda,是自带cuda的,但是版本较高与驱动不匹配,需卸载
去官网下载安装包后进行自主安装
对应安装的cudnn版本为:v7.5
下载链接:https://developer.nvidia.com/rdp/cudnn-archive
注:下载cudnn之前需注册账户
9.此时再跑程序出现错误:找不到指定模块
解释:经多番查找发现是:在安装了与电脑本机相匹配的cuda和cudnn之后,所安装tensorflow-gpu版本与python37版本不匹配
解决办法:
(1)下载tensorflow-1.9.0-cp37-cp37m-win_amd64.whl
(2)Anaconda右击管理员运行,可将下载下来文件放置于路径下
(3)使用pip安装.whl文件
(4)运行以下代码进行测试
import tensorflow as tf
# Creates a graph.
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)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print(sess.run(c))
结果中看到GPU信息即为安装成功
或者
import tensorflow as tf
tf.test.is_gpu_available
返回True,即成功