引言
在 Windows 环境下进行深度学习开发时,安装 NVIDIA 的 CUDA 和 cuDNN 是不可或缺的步骤。然而,安装完成后,使用 ONNXRuntime 时可能会遇到一些问题,比如常见的 Error 126。本文将详细介绍在 Windows 系统上安装 CUDA 和 cuDNN 的完整流程,并提供解决 ONNXRuntime Error 126 的具体方法,主要通过将 cuDNN 的 bin
文件夹中的文件拷贝到 CUDA 的对应目录来解决。
1. 安装 CUDA
CUDA 是 NVIDIA 提供的并行计算平台和编程模型,能够显著提升深度学习任务的性能。以下是安装步骤:
1.1 下载 CUDA 安装包
- 访问 NVIDIA CUDA Toolkit 下载页面。
- 根据你的系统选择合适的版本,例如:
- 操作系统:Windows 10 或 Windows 11
- 架构:x86_64
- 点击下载,获取一个
.exe
可执行安装文件。
1.2 安装 CUDA
- 双击运行下载的
.exe
文件。 - 在安装界面中选择 自定义安装(Custom Installation),以便只安装必要的组件。
- 在组件选择界面:
- 勾选 CUDA Toolkit(核心组件)。
- 可选:勾选 CUDA Samples(用于测试安装是否成功)。
- 安装路径建议保留默认(例如
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X
),点击“下一步”完成安装。
1.3 验证 CUDA 安装
- 安装完成后,打开命令提示符(按
Win + R
,输入cmd
,回车)。 - 输入以下命令:
nvcc --version
- 如果命令返回类似以下输出,说明安装成功:
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on ... Cuda compilation tools, release X.X, VX.X.X
- 如果没有返回版本信息,请检查安装路径是否正确,或重新安装。
2. 安装 cuDNN
cuDNN 是 NVIDIA 提供的深度神经网络库,优化了深度学习计算性能。以下是安装步骤:
2.1 下载 cuDNN
- 访问 NVIDIA cuDNN 下载页面。
- 需要注册或登录 NVIDIA 开发者账号。
- 选择与你安装的 CUDA 版本匹配的 cuDNN 版本(例如 CUDA 11.x 对应 cuDNN 8.x)。
- 下载完成后,你将得到一个
.zip
压缩包。
2.2 安装 cuDNN
- 解压下载的
.zip
文件,得到一个包含bin
、include
和lib
文件夹的目录。 - 将这些文件拷贝到 CUDA 的安装目录中:
- 将
bin
文件夹中的内容拷贝到:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\bin
- 将
include
文件夹中的内容拷贝到:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\include
- 将
lib
文件夹中的内容拷贝到:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\lib\x64
- 将
- 确保文件拷贝完成后,目标目录中包含了 cuDNN 的
.dll
文件(如cudnn64_X.dll
)。
3. 解决 ONNXRuntime Error 126 问题
在使用 ONNXRuntime 时,有时会遇到 Error 126,提示无法加载某些 DLL 文件。这通常是因为系统无法找到 cuDNN 的动态链接库文件。以下是解决方法:
3.1 问题描述
- 在运行 ONNXRuntime 的程序时,可能会出现类似以下错误:
Error 126: The specified module could not be found.
- 这表明系统缺少某些依赖的 DLL 文件,通常是 cuDNN 相关的文件。
3.2 解决方法
- 步骤 1:检查 cuDNN 文件是否正确拷贝
- 确保 cuDNN 的
bin
文件夹中的.dll
文件已正确拷贝到:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\bin
- 如果未拷贝,请按照第 2.2 节的步骤重新操作。
- 确保 cuDNN 的
- 步骤 2:检查环境变量
- 右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
- 在“系统变量”中找到
Path
,确保其中包含 CUDA 的bin
路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\bin
- 如果没有,手动添加并保存。
- 步骤 3:备用方案
- 如果问题仍未解决,将 cuDNN 的
bin
文件夹中的.dll
文件直接拷贝到 ONNXRuntime 的安装目录(例如 Python 的site-packages\onnxruntime\capi
文件夹)。
- 如果问题仍未解决,将 cuDNN 的
3.3 验证解决方法
- 重新运行你的 ONNXRuntime 程序。
- 如果 Error 126 不再出现,说明问题已解决。
4. 总结
通过本文的指导,你可以在 Windows 系统上成功安装 CUDA 和 cuDNN,并解决在使用 ONNXRuntime 时遇到的 Error 126 问题。核心解决方法是将 cuDNN 的 bin
文件夹中的 DLL 文件拷贝到 CUDA 的 bin
目录中,同时确保环境变量配置正确。希望这篇博客能帮助你在深度学习开发中少走弯路!