TensorFlow2.0-GPU加速

使用GPU进行计算可以加速许多TensorFlow操作,如果没有任何注释,TensorFlow会自动决定是使用GPU还是CPU进行操作,操作产生的张量通常由执行操作的设备的存储器支持。

GPU的地位和CPU等同,都是处理数据单元。不同的是,CPU可以处理复杂逻辑,比如判断、循环、断点、保护现场等,处理速度快;而GPU只会简单的数值计算,很少的逻辑处理单元,计算速度也不如CPU,但是,GPU计算带宽高,一次能处理的数据量大。可以把CPU比作法拉利,GPU比作大卡车,法拉利虽然跑的快,但最多4座的,大卡车跑的慢,可胜在拉货论吨。

GPU和CPU都有自己的专属的存储器,内存8G属于CPU,显存2G属于GPU。集成显卡就是在内存中划分出一块作为显存,独立显卡则是单独的一块存储区域。DDR4内存的速度是25.6GB/s,而GDDR6显存的速度最高可达72GB/s。

tensor.device属性提供托管张量内容的设备的完全限定字符串名称。此名称编码许多详细信息,例如正在执行此程序的主机的网络地址的标识符以及该主机中的设备。这是分布式执行TensorFlow程序所必需的。如果张量位于主机上的第N个GPU上,则字符串以GPU:N结尾。

x = tf.random.uniform([3, 3])

print(x.device)  # /job:localhost/replica:0/task:0/device:GPU:0
print(tf.test.is_gpu_available())  # True
print(x.device.endswith('GPU:0'))  # True
x = tf.random.uniform([3, 3])
print(x.device)  # /job:localhost/replica:0/task:0/device:GPU:0
with tf.device('/cpu:0'):
    x = tf.random.uniform([3, 3])
    print(x.device)  # /job:localhost/replica:0/task:0/device:CPU:0

如果发现,tensor不在GPU上运行,此时发生问题的地方有很多,例如TensorFlow-gpu和TensorFlow版本不匹配、GPU设置问题等。总之,挺烦的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三叶草~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值