前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python 使用 pynvml 工具获取GPU工作状态

python 使用 pynvml 工具获取GPU工作状态

作者头像
为为为什么
发布于 2022-08-05 03:06:42
发布于 2022-08-05 03:06:42
1.6K00
代码可运行
举报
文章被收录于专栏:又见苍岚又见苍岚
运行总次数:0
代码可运行

深度学习过程中经常需要和GPU打交道,需要在训练之前确定GPU工作状态。本文介绍python中的pynvml包的使用方法,用来获取上述信息。

安装

直接通过pip安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install nvidia-ml-py

或者根据所使用的python版本安装对应包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install nvidia-ml-py2  # python2
pip install nvidia-ml-py3  # python3

使用方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 导入包
import pynvml 
# 每MB包含的字节数
NUM_EXPAND = 1024 * 1024
# 初始化
pynvml.nvmlInit()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#GPU驱动信息
pynvml.nvmlSystemGetDriverVersion()
-> b'441.22'
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#获取Nvidia GPU块数
pynvml.nvmlDeviceGetCount()
-> 1
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#获取GPU 0 的handle
handle = pynvml.nvmlDeviceGetHandleByIndex(0)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 设备名称
pynvml.nvmlDeviceGetName(handle)
-> b'GeForce GTX 1660'
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#通过handle获取GPU 0 的信息
info = pynvml.nvmlDeviceGetMemoryInfo(handle)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#GPU 0 的总显存
info.total 
-> 6442450944
info.total / NUM_EXPAND
-> 6144.0
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#GPU 0 使用的显存
info.used
-> 383299584
info.used / NUM_EXPAND
-> 365.54296875
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#关闭 pynvml
pynvml.nvmlShutdown() 

踩坑

  • 报错 : pynvml.NVMLError_LibraryNotFound: NVML Shared Library Not Found

坑已填:解决 pynvml 报错 NVML Shared Library Not Found / WinError 126

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年11月6日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 使用方法
  • 踩坑
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档