tensorflow cuda版本_tensorflowGPU版本的一些出坑经验

c022a7afdfba691144a7b778658a9f67.png

对于tensorflow-GPU版本的安装使用我就不过多地介绍了,但是最近有些基于分布式训练的小技巧的却让我很是头疼,甚至让我开始怀疑自己的tensorflow是如何识别我电脑的GPU信息并进行调用的。

查看是否有GPU

import tensorflow as tf

gpu_device_name = tf.test.gpu_device_name()
print(gpu_device_name)

输出

/device:GPU:0

上述代码的主要作用是通过tensorflow,去查看你的电脑有没有GPU设备,但是这种查看只是tensorflow通过内置函数去调用系统变量,读取你的GPU信息,这些都是后台的东西也许你不必知道,值得注意的是,如果你安装的是tensorflow-cpu版本,那么上述操作就会显示如下的窗口,这个窗口中提示的信息原则上可以不管,因为你安装的CPU版本根本就不会去读取你的GPU信息,当然不会显示你目前的GPU信息。

471a7e5041e49e273ba50eaf69809952.png
cpu版本的tensorflow还行,看个人需求

经过这个测试后,你只是证明了你的tensorflow是GPU版本,你的电脑有GPU设备,除此之外,调用它还不属于现在的能力范围。接下来你可以选择你需要的CUDA和cudnn版本去匹配你的GPU,注意这里匹配的是你的GPU,最后在匹配tensorflow-gpu的版本,安装如下:

没有什么本来如此:win10+tf-GPU 1.14.0+cuda 10.0+cudnn 7.6+GTX1660Ti​zhuanlan.zhihu.com
ded22b5c88e752b28a1d1acdb2c3cbd5.png

当你需要的CUDA和cudnn安装好之后,由于CUDA是基于GPU的,走完流程她会配置给你的GPU,这个时候就可以用来加速计算了。

但是这需要一个验证过程:

tf.test.is_gpu_available()

返回结果是true则说明你之前的步骤都是对的,目前你的相关GPU不但配置正确并且属于可用状态,如果是false就需要返回去看你的GPU相关配置是否正确。

这里强调一点:

你的GPU在tensorflow中的可用序号取决于tensorflow给他的序号名称:

56a90e8f72e2d84e00760565d3654d4a.png

上图中我的英伟达GPU显示为GPU1,我就想当然的认为我的GPU是序号为1,其实,那是因为我电脑自带了intel的GPU,可是它是不支持CUDA计算的,在tensorflow的认别中,GPU1的序号才是真正的0.

2dc84de9ff13a4cdcc20b38219b7b260.png

目前使用GPU计算的优势不言而喻,我本人目前由于设备的原因只采用了一个GPU进行运算,如果你有多个GPU,那完全可以分布式使用,值得注意的是,多个GPU对应的CUDA版本务必要一样,因为一个环境只能使用一个CUDA,多个CUDA一定会报错。也就是通俗的理解,两个GPU的话,两个显卡驱动,但是只能由一个CUDA来调取使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值