51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

解决 pynvml 报错 NVML Shared Library Not Found / WinError 126

pynvml包直接在Windows系统上安装可能会报出模块找不到的错误,本文记录解决方法。

问题复现 {#问题复现}

在Windows中调用 pynvml.nvmlInit()时出错:

错误信息:

问题分析 {#问题分析}

  • 在源代码文件 numl.py 中 731 行附近:

可以看到模块在尝试寻找 C:/Program Files/NVIDIA Corporation/NVSMI/nvml.dll 文件,如果你的nvml.dll文件不在这就会报错。

解决方案 {#解决方案}

知道问题的原因,排除故障有两种方案,但都需要知道当前的nvml.dll文件在哪。

确定 nvidia-smi.exe 位置 {#确定-nvidia-smi-exe-位置}
  • 打开cmd,输入命令:

会返回当前系统的 nvidia-smi.exe的位置 (前提是当前cuda安装正常,可以使用nvidia-smi)

  • 去相应位置查看,发现nvml.dll文件和他在一起,所以只要将代码中路径指向它就行了。

方案1: 修改源码: {#方案1:-修改源码:}

  • 修改numl.py 中第 731 行代码:

改为你自己的路径:

注意反斜杠路径需要在前面加 r

方案2: 为源码创建运行环境 {#方案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/

赞(0)
未经允许不得转载:工具盒子 » 解决 pynvml 报错 NVML Shared Library Not Found / WinError 126