You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10环境下Darknet YOLOv4训练时无法加载cudnn_cnn_infer64_8.dll(错误码126)问题求助

解决YOLOv4(Darknet框架)训练时cudnn_cnn_infer64_8.dll加载失败(错误码126)的问题

这个问题我之前帮同行排查过好几次,错误码126本质是系统找不到指定的动态链接库,要么是文件缺失、路径未生效,要么是版本不匹配。结合你在Windows10+Darknet+YOLOv4的场景,给你几个针对性的排查步骤:

1. 确认CUDNN文件是否正确部署

Darknet依赖的CUDNN文件不是单独存放的,需要把CUDNN压缩包里的内容合并到CUDA的安装目录中:

  • 找到你的CUDA安装根目录,默认路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X(X.X是你的CUDA版本,比如11.2)
  • 进入cuda\lib\x64目录,检查是否存在cudnn_cnn_infer64_8.dll文件。如果没有,说明你没正确安装CUDNN:
    1. 下载与你的CUDA版本匹配的CUDNN压缩包
    2. 解压后得到bin、lib、include三个文件夹
    3. 将这三个文件夹里的所有内容,分别复制到CUDA目录下的同名文件夹中(覆盖原有文件也没关系)

2. 验证环境变量配置是否生效

你提到已经添加了环境变量,但Windows的环境变量经常需要重启才能生效:

  • 重启所有打开的命令行窗口、VS2019,甚至重启电脑
  • 打开命令提示符,输入echo %PATH%,查看输出中是否包含CUDA的lib\x64路径(比如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib\x64)
  • 建议将该路径添加到系统环境变量的Path中,而非用户环境变量,避免权限或优先级问题

3. 检查CUDA与CUDNN的版本兼容性

Darknet对CUDA和CUDNN的版本匹配要求很严格,版本不匹配会导致dll加载失败:

  • 去NVIDIA官方文档查询你当前CUDA版本对应的CUDNN版本(比如CUDA 11.0对应CUDNN 8.0.5,CUDA 11.2对应CUDNN 8.1.0)
  • 如果版本不匹配,下载对应版本的CUDNN重新部署

4. 手动复制dll到关键目录

如果上面的步骤都无效,可以尝试手动放置dll:

  • 将cudnn_cnn_infer64_8.dll复制到C:\Windows\System32目录(64位系统不要放到SysWOW64)
  • 同时复制一份到你的Darknet可执行文件所在目录(比如darknet.exe所在的文件夹),让程序启动时优先加载本地的dll

5. 检查VS项目的链接器配置

如果你是用VS2019编译Darknet项目,需要确认链接器配置是否正确:

  • 打开项目属性,进入链接器 -> 常规,在附加库目录中添加$(CUDA_PATH)\lib\x64
  • 进入链接器 -> 输入,确认已添加cudnn.lib、cudnn_cnn_infer.lib等依赖库

一般来说,前两步就能解决大部分问题,尤其是CUDNN未正确合并到CUDA目录或环境变量未生效的情况。

内容的提问来源于stack exchange,提问作者Кирилл Тараканов

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 23:52:46