【607】GPU、显存 查看与设置
今天开始在 GPU 上面训练深度学习模型,首先遇到的问题就是 kernel dead,究其原因是因为 GPU 被占用,因此需要指定 GPU 来运行,而对于显存的理解,正常来说应该是图形显示的用处,但是在深度学习训练的时候,显存就类似于主板的内存,没有足够大的显存就类似于主板内存太小所导致的一系列问题。
虽然 keras 代码可以自动识别 GPU,存在被占用的情况,因此需要自己设置 GPU,首先是查看 GPU 以及 显存 使用情况。
在 Terminal 中输入 nvidia-smi,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | (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 更新一次)
1 | watch - n 1 nvidia - smi |
设置可看见的方式,既可以选择想要被看到的 GPU:
上图中的 GPU 0,显存大量被使用,GPU 1,GPU 被大量使用,因此只能选择 2,3,如下的代码所示:
1 | os.environ[ "CUDA_VISIBLE_DEVICES" ] = "2, 3" |
注意:一定要确保资源充足才能运行!!
分类:
AI Related
posted on 2021-07-13 17:19 McDelfino 阅读(1061) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2014-07-13 【143】360云盘资源