✍19 Tensonfow(GPU)使用

nvidia-smi命令解释

  • nvidia-smi是nvidia 的系统管理界面
  • 其中smi是System management interface的缩写,它可以收集各种级别的信息,查看显存使用情况
  • 此外, 可以启用和禁用 GPU 配置选项 (如 ECC 内存功能)

查看GPU信息

nvidia-smi
nvidia-smi -l [秒数]# 每隔几秒查看GPU当前状态
nvidia-smi -h  # 查看命令
nvidia-smi -L  # 查看可用的NVIDIA设备

image-20210730102228610

image-20210730095324446

栏位解释 :

  • GPU:本机中的GPU编号(有多块显卡的时候,从0开始编号)图上GPU的编号是:0
  • Fan:风扇转速(0%-100%),N/A表示没有风扇
  • Name:GPU类型,图上GPU的类型是:Tesla T4
  • Temp:GPU的温度(GPU温度过高会导致GPU的频率下降)
  • Perf:GPU的性能状态,从P0(最大性能)到P12(最小性能),图上是:P0
  • Persistence-M:持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时花费的时间更少,图上显示的是:off
  • Pwr:Usager/Cap:能耗表示,Usage:用了多少,Cap总共多少 (GPU功耗)
  • Bus-Id:GPU总线相关显示,domain:bus:device.function
  • Disp.A:Display Active ,表示GPU的显示是否初始化
  • Memory-Usage:显存使用率
  • Volatile GPU-Util:GPU使用率
  • Uncorr. ECC:关于ECC的东西,是否开启错误检查和纠正技术,0/disabled,1/enabled
  • Compute M:计算模式,0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
  • Processes:显示每个进程占用的显存使用率、进程号、占用的哪个GPU

网图

img

将监控信息写入文件

  • 指定某些字段写入文件
nvidia-smi -l 1 --format=csv --filename=report.csv --query-gpu=timestamp,name,index,utilization.gpu,memory.total,memory.used,power.draw
  • -l:隔多久记录一次,命令中写的是1

  • --format:结果记录文件格式是csv

  • --filename: 结果记录文件的名字

  • --query-gpu:记录哪些数据到csv文件

  • timestamp:时间戳

  • memory.total:显存大小

  • memory.total:显存使用了多少

  • utilization.gpu:GPU使用率

  • power.draw:显存功耗,对应Pwr:Usage

nvidia-smi --help-query-gpu  # 查看可以記錄的字段
 os.system('ls')  # 执行linux命令

Tensonfow函数

https://blog.csdn.net/lenbow/article/details/52152766

相关链接:

[1] 安装Tensorflow(Linux ubuntu) http://blog.csdn.net/lenbow/article/details/51203526
[2] ubuntu下CUDA编译的GCC降级安装 http://blog.csdn.net/lenbow/article/details/51596706
[3] ubuntu手动安装最新Nvidia显卡驱动 http://blog.csdn.net/lenbow/article/details/51683783
[4] Tensorflow的CUDA升级,以及相关配置 http://blog.csdn.net/lenbow/article/details/52118116
[5] 基于gensim的Doc2Vec简析 http://blog.csdn.net/lenbow/article/details/52120230
[6] TensorFlow的分布式学习框架简介 http://blog.csdn.net/lenbow/article/details/52130565
————————————————

TensorFlow查看GPU信息

  • 查看是否有CPU

import tensorflow as tf

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

"""
/device:GPU:0
"""
  • 檢查GPU是否可用

tf.test.is_gpu_available()  # 返回true和false
  • 列出所有的本地机器设备

from tensorflow.python.client import device_lib

# 列出所有的本地机器设备(GPU+CPU)
local_device_protos = device_lib.list_local_devices()
print(local_device_protos)
# 判断过滤只打印GPU设备
[print(x) for x in local_device_protos if x.device_type == 'GPU']

'''
name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 10641965056
locality {
  bus_id: 1
  links {
  }
}
incarnation: 7203835317376623910
physical_device_desc: "device: 0, name: Tesla K80, pci bus id: 0000:00:04.0, compute capability: 3.7"

'''
posted @ 2021-11-25 21:02  给你骨质唱疏松  阅读(23)  评论(0编辑  收藏  举报