tensorflow学习笔记:查看tensorflow可配置运算资源以及配置使用GPU运算

查看tensorflow可配置运算资源以及配置使用GPU运算

因为还用不到分布式的tensorflow,自己没有尝试过所以就不写分布式tensorflow的使用了(等自己用上了再说),这里记录一下在跑神经网络时遇到GPU资源没有被使用,自己配置GPU运算的一些内容。一起来看看吧。

查看tensorflow可以调用的GPU/CPU资源

安装得时候我们会在cmd中通过nvidia-smi查看CUDA的一些信息。
在这里插入图片描述
这里可以看到CUDA中加入了一个GTX得显卡,他的资源利用是百分之零。
我们再查看一下电脑中有那些CPU和GPU可以被分配:

import os
from tensorflow.python.client import device_lib
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "99"
print(device_lib.list_local_devices())

我这儿输出:

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 11540659828643787764
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 4865563033
locality {
  bus_id: 1
  links {
  }
}
incarnation: 1407573613792857506
physical_device_desc: "device: 0, name: GeForce GTX 1660 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5"
]

如果只想关注有那些可用资源得编号可以这样获得:

from tensorflow.python.client import device_lib as _device_lib
local_device_protos = _device_lib.list_local_devices()
[x.name for x in local_device_protos if x.device_type == 'GPU']

当然把GPU改为CPU就得到是CPU的对应可用编号。

配置GPU运算

在我的电脑中可以看到的是:一个CPU一个GPU可以被支配,我们可以这样来配置tensorflow使用他们:

import tensorflow as tf
with tf.device("/gpu:0"):
    a = tf.constant([1.0,2.0,3.0,4.0,5.0,6.0],shape=[2,3])
    b = tf.constant([1.0,2.0,3.0,4.0,5.0,6.0],shape=[3,2])
    c = tf.matmul(a,b)
    #查看计算时硬件的使用情况
    sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
    print(sess.run(c))

把里面得gpu改为cpu他就会调用cpu运算了。配置GPU运算还有另外一种方法,代码如下:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = '0'   #指定第一块GPU可用

查看资源使用情况

程序运行中可以通过nvidia-smi查看:
在这里插入图片描述
前提是你的网络需要一致在运行着。

还可以通过任务管理器来查看在性能中我们可以自己电脑中的一些资源使用情况。

如果不嫌麻烦,也可以下载一个GPU-Z来查看:
在这里插入图片描述

写在最后

写这篇博客是因为自己电脑中安装了CPU版和GPU版的tensorflow,有一天突然发现GPU的资源在训练时没有被使用,所以就找了些资料看如何去查看资源以及分配资源。OK就记录到这里了,欢迎各位大佬在评论区进行纠错或者提出更好的方案,带着我一起进步。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值