zoukankan      html  css  js  c++  java
  • TensorFlow指定GPU使用及监控GPU占用情况

    查看机器上GPU情况

    命令: nvidia-smi

    功能:显示机器上gpu的情况

    命令: nvidia-smi -l

    功能:定时更新显示机器上gpu的情况

    命令:watch -n 3 nvidia-smi

    功能:设定刷新时间(秒)显示GPU使用情况

    其中左上侧有0、1、2、3的编号,表示GPU的编号,在后面指定GPU时需要使用这个编号。

    在终端执行程序时指定GPU   

    CUDA_VISIBLE_DEVICES=1   python  your_file.py

    这样在跑你的网络之前,告诉程序只能看到1号GPU,其他的GPU它不可见

    可用的形式如下:

    CUDA_VISIBLE_DEVICES=1           Only device 1 will be seen
    CUDA_VISIBLE_DEVICES=0,1         Devices 0 and 1 will be visible
    CUDA_VISIBLE_DEVICES="0,1"       Same as above, quotation marks are optional
    CUDA_VISIBLE_DEVICES=0,2,3       Devices 0, 2, 3 will be visible; device 1 is masked

    CUDA_VISIBLE_DEVICES=""          No GPU will be visible

    在Python代码中指定GPU

    import os

    os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
    os.environ["CUDA_VISIBLE_DEVICES"] = "0"

    设置定量的GPU使用量

    config = tf.ConfigProto() 
    config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存 
    session = tf.Session(config=config)

    设置最小的GPU使用量

    config = tf.ConfigProto() 
    config.gpu_options.allow_growth = True 
    session = tf.Session(config=config)

  • 相关阅读:
    java 日期的格式化
    JAVA 线程
    java 异常
    java 内部类
    java 多态
    SpringBoot(12) SpringBoot创建非web应用
    SpringCloud(1) 架构演进和基础知识简介
    SpringBoot(11) SpringBoot自定义拦截器
    SpringBoot(10) Servlet3.0的注解:自定义原生Servlet、自定义原生Listener
    SpringBoot(9) SpringBoot整合Mybaties
  • 原文地址:https://www.cnblogs.com/helloyy/p/7878201.html
Copyright © 2011-2022 走看看