本文最后更新于:2024年5月7日 下午
pynvml包直接在Windows系统上安装可能会报出模块找不到的错误,本文记录解决方法。
问题复现
在Windows中调用
pynvml.nvmlInit()
时出错:
错误信息:
1 |
|
问题分析
- 在源代码文件 numl.py 中 731 行附近:
1 |
|
可以看到模块在尝试寻找
C:/Program Files/NVIDIA Corporation/NVSMI/nvml.dll
文件,如果你的nvml.dll
文件不在这就会报错。
解决方案
知道问题的原因,排除故障有两种方案,但都需要知道当前的
nvml.dll
文件在哪。
确定 nvidia-smi.exe 位置
- 打开cmd,输入命令:
1 |
|
会返回当前系统的 nvidia-smi.exe的位置 (前提是当前cuda安装正常,可以使用nvidia-smi)
- 去相应位置查看,发现
nvml.dll
文件和他在一起,所以只要将代码中路径指向它就行了。
方案1: 修改源码:
- 修改
numl.py
中第 731 行代码:
1 |
|
改为你自己的路径:
1 |
|
注意反斜杠路径需要在前面加
r
方案2: 为源码创建运行环境
-
源码不会出错,错的是我们自己的环境,改过来就是了。
-
创建文件夹
C:\Program Files\NVIDIA Corporation\NVSMI
-
将
nvml.dll
文件放在文件夹里
运行示例
参考资料
文章链接:
https://www.zywvvd.com/notes/study/deep-learning/pynvml-model-not-found/pynvml-model-not-found/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付
解决 pynvml 报错 NVML Shared Library Not Found / WinError 126
https://www.zywvvd.com/notes/study/deep-learning/pynvml-model-not-found/pynvml-model-not-found/