• ✍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"
    
    '''
    
  • 相关阅读:
    svn安装教程
    六、数组类的创建
    五、顺序存储线性表分析
    四、StaticList 和 DynamicList
    三、顺序存储结构的抽象实现
    二、线性表的顺序存储结构
    一、线性表的本质和操作
    专题五:局部变量、全局变量global、导入模块变量
    专题四:文件基础知识、字符编码
    专题3-2:列表基础知识:二维list排序、获取下标和处理txt文本实例
  • 原文地址:https://www.cnblogs.com/songhaixing/p/15604905.html
Copyright © 2020-2023  润新知