zoukankan      html  css  js  c++  java
  • 【607】GPU、显存 查看与设置

    参考:Linux查看GPU信息和使用情况

    参考:Linux查看GPU信息和使用情况

    参考:基于tensorflow的keras中GPU的使用

    参考:keras实现多GPU或指定GPU的使用介绍

    参考:【推荐】科普帖:深度学习中GPU和显存分析


      今天开始在 GPU 上面训练深度学习模型,首先遇到的问题就是 kernel dead,究其原因是因为 GPU 被占用,因此需要指定 GPU 来运行,而对于显存的理解,正常来说应该是图形显示的用处,但是在深度学习训练的时候,显存就类似于主板的内存,没有足够大的显存就类似于主板内存太小所导致的一系列问题。

      虽然 keras 代码可以自动识别 GPU,存在被占用的情况,因此需要自己设置 GPU,首先是查看 GPU 以及 显存 使用情况。

      在 Terminal 中输入 nvidia-smi,如下所示:

    (py3.6_tensorflow2.0) (base) [sankuai@xh-deliveryai-mapui01 unet-keras]$ nvidia-smi
    Tue Jul 13 17:08:00 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 418.39       Driver Version: 418.39       CUDA Version: 10.1     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla M60           On   | 00000000:00:15.0 Off |                    0 |
    | 42%   56C    P0    50W / 120W |   7333MiB /  7618MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    |   1  Tesla M60           On   | 00000000:00:16.0 Off |                    0 |
    | 44%   62C    P0   122W / 120W |   4236MiB /  7618MiB |    100%      Default |
    +-------------------------------+----------------------+----------------------+
    |   2  Tesla M60           On   | 00000000:00:17.0 Off |                    0 |
    | 34%   52C    P0    48W / 120W |     80MiB /  7618MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    |   3  Tesla M60           On   | 00000000:00:18.0 Off |                    0 |
    | 36%   40C    P0    43W / 120W |     80MiB /  7618MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |    0     35317      C   ...da3/envs/py3.6_tensorflow2.0/bin/python  7322MiB |
    |    1     35317      C   ...da3/envs/py3.6_tensorflow2.0/bin/python    69MiB |
    |    1     64279      C   python                                      4153MiB |
    |    2     35317      C   ...da3/envs/py3.6_tensorflow2.0/bin/python    69MiB |
    |    3     35317      C   ...da3/envs/py3.6_tensorflow2.0/bin/python    69MiB |
    +-----------------------------------------------------------------------------+
    

      界面解读(并非针对本图,原链接

    • GPU : GPU编号,【笔者目前使用的是双卡,编号为0,1】;
    • Name:GPU型号,这里为GeForce GTX 1080 Ti;
    • Persistence-M :持续模式状态,如果为on,能耗大但新的GPU启动时耗时短,这里为off;
    • Fan : 风扇转速,取值为0%~100%;
    • Temp : 温度,单位是℃;
    • Perf : 显卡性能状态,取值为P0~P12,其中P0表示状态最大性能{未工作},P12表示状态最小性能{达到最大工作限度};
    • Pwe:Usage/Cap : 能耗,71w表示当前能耗,250w表示满负荷能耗;
    • Bus-Id : 涉及GPU总线的东西,domain:bus:device.function;
    • Disp.A : Display Active,表示GPU的显示是否初始化;
    • Memory-Usage : 显存使用情况, 11021M表示当前0号显卡使用大显存大小;11178M表示显卡大小;
    • Volatile GPU-Util : 表示GPU的实际利用率;
    • Uncorr. ECC:Error Correcting Code,错误检查与纠正;
    • Compute M:compute mode,计算模式。

      实时更新(可以修改数字,下面是 1s 更新一次)

    watch -n 1 nvidia-smi
    

      设置可看见的方式,既可以选择想要被看到的 GPU:

      上图中的 GPU 0,显存大量被使用,GPU 1,GPU 被大量使用,因此只能选择 2,3,如下的代码所示:

    os.environ["CUDA_VISIBLE_DEVICES"] = "2, 3"
    

      注意:一定要确保资源充足才能运行!!

  • 相关阅读:
    Civil 3D 二次开发 创建Civil 3D 对象—— 01 —— 创建几何空间点
    Civil 3D 二次开发 创建Civil 3D 对象—— 00 ——
    Civil 3D 二次开发 创建AutoCAD对象—— 01 —— 创建直线
    Civil 3D 二次开发 新建CLR项目出现错误C2143
    Civil 3D 二次开发 创建AutoCAD对象—— 00 ——
    了解AutoCAD对象层次结构 —— 6 ——块表记录
    datepicker97使用
    使用angular 外接 templateUrl,使用ng-include
    angularJs 遮罩
    网上找的有关css兼容问题
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/15007448.html
Copyright © 2011-2022 走看看