Windows 下安装 Darknet:从环境准备到跑通第一个目标检测
目标关键词:Windows Darknet 安装
很多人第一次接触 Darknet,都会卡在“到底怎么在 Windows 上装起来”这一步。因为 Darknet 本身偏向 Linux 环境,Windows 下要用它,往往会碰到 编译报错、CUDA 配置不对、OpenCV 找不到、GPU 不识别 这些问题。其实只要路线走对,Windows 也能比较顺利地把 Darknet 跑起来。
这篇文章就按 问题分析 → 解决方案 → 注意事项 的结构,手把手讲清楚:
Windows 上如何安装 Darknet、如何编译、如何开启 GPU、如何验证是否安装成功。
一、先说清楚:Windows 安装 Darknet 的本质是什么
Darknet 不是那种“下一步下一步就能装好”的普通软件,它更像是一个 需要自己编译的深度学习框架。
也就是说,你不是单纯安装一个程序,而是在 Windows 上把它的源码、依赖库、编译环境都搭好,然后生成可执行文件。
你需要提前准备这些东西:
-
Windows 系统
- Windows 10 / 11 更稳
- 64 位系统
-
Visual Studio
- 推荐 Visual Studio 2019 / 2022
- 勾选“使用 C++ 的桌面开发”
-
CUDA(如果要用 NVIDIA 显卡加速)
- 前提:电脑有 NVIDIA 显卡
- CUDA 版本要和 Darknet、Visual Studio 版本尽量匹配
-
cuDNN
- NVIDIA 的深度学习加速库
- 没有它也能编译,但 GPU 加速能力会受影响
-
OpenCV
- 用于图像读取、显示、视频处理
- 做目标检测时很常用
-
Darknet 源码
- 建议用常见维护版本,比如 AlexeyAB 的 Darknet 分支,Windows 支持更成熟
二、安装前先判断:你的电脑适不适合装 GPU 版 Darknet
如果你只是想体验一下,电脑没有 NVIDIA 显卡,也能装 CPU 版,只是速度慢一些。
如果你想训练模型或者跑实时检测,建议至少有一块 NVIDIA 显卡。
先检查这几点:
- 是否是 NVIDIA 显卡
- 显存是否足够
- 简单测试:4GB 显存也能跑一些小模型
- 训练建议 6GB 以上更舒服
- 系统是否是 64 位
- Visual Studio 是否能正常安装
适合你的安装路线:
- 新手 / 只想先跑通:CPU 版 Darknet
- 进阶 / 想用显卡加速:CUDA + cuDNN + GPU 版 Darknet
三、Windows 安装 Darknet 的推荐方案
方案一:安装 CPU 版 Darknet(最稳,适合入门)
如果你是第一次接触,建议先把 CPU 版 跑通。
这样能先确认环境没问题,再升级到 GPU 版。
1)安装 Visual Studio
操作步骤:
- 下载并安装 Visual Studio 2019 或 2022
- 安装时勾选:
- 使用 C++ 的桌面开发
- Windows 10/11 SDK
- MSVC 编译工具
- 安装完成后重启电脑
注意:
- 不要只装运行库,必须装 C++ 开发组件
- 如果后面编译报“找不到 cl.exe”,基本就是这里没装对
2)下载 Darknet 源码
建议使用支持 Windows 的维护分支。
下载后解压到一个路径简单的位置,比如:
D:\darknet
为什么路径要简单?
因为编译时路径太深、中文路径、空格路径,都容易引发奇怪报错。
建议避免这些目录:
- 桌面
- 下载文件夹
- 中文路径
- 含空格路径
3)打开 Darknet 的 Visual Studio 工程
一般源码里会有对应的 .sln 文件,直接双击打开即可。
如果工程文件打不开:
说明你下载的源码版本可能不完整,或者需要自己生成工程文件。
这时建议换成成熟的 Windows 兼容分支,不然会浪费很多时间。
4)修改编译选项
打开工程后,通常需要确认以下内容:
关闭 GPU 相关选项
如果你只装 CPU 版,就把这些选项关掉:
GPU = 0CUDNN = 0OPENCV = 1(如果你装了 OpenCV)OPENMP = 1(可选,加速多线程)
如果没有 OpenCV
把 OPENCV = 0,否则编译可能报找不到库。
5)开始编译
在 Visual Studio 里选择:
- Release
- x64
然后点击:
- 生成
- 生成解决方案
如果顺利,最后会生成一个可执行文件,比如:
darknet.exe
6)验证是否成功
在源码目录下打开命令提示符,执行:
darknet.exe
如果程序输出帮助信息,说明基本安装成功。
你也可以尝试运行检测命令,比如:
darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg
前提是你已经准备好配置文件、权重文件和测试图片。
方案二:安装 GPU 版 Darknet(推荐性能党)
如果你有 NVIDIA 显卡,建议直接装 GPU 版。
这样可以大幅提升推理和训练速度。
1)先安装 NVIDIA 显卡驱动
先去确认显卡驱动是最新或较新的版本。
安装完成后,打开命令行输入:
nvidia-smi
如果能看到显卡型号、驱动版本、CUDA 版本信息,说明驱动正常。
2)安装 CUDA Toolkit
注意版本匹配
CUDA 版本要和你使用的 Darknet 分支、Visual Studio 版本尽量兼容。
如果版本错得太离谱,容易出现:
- 编译失败
nvcc找不到- 运行时崩溃
安装建议:
- 选常见稳定版本
- 安装路径尽量默认
- 安装后检查环境变量是否正确
验证 CUDA 是否正常:
打开命令行输入:
nvcc -V
能显示版本号,说明 CUDA 安装成功。
3)安装 cuDNN
cuDNN 一般是压缩包形式,不是传统安装程序。
操作步骤:
- 下载与你 CUDA 版本匹配的 cuDNN
- 解压后把文件复制到 CUDA 安装目录
binincludelib
- 确认环境变量没冲突
常见错误:
- cuDNN 版本不匹配
- 文件没复制到正确目录
- DLL 找不到
4)安装 OpenCV
Darknet 在 Windows 下常常需要 OpenCV 支持图像和视频处理。
你可以安装 OpenCV 的 Windows 版本,然后配置环境变量。
要做的事:
- 下载 OpenCV
- 解压到固定目录,例如:
D:\opencv - 配置系统环境变量:
OPENCV_DIRPath中添加bin目录
检查是否成功:
如果编译时不再报 OpenCV 相关错误,基本就是配置对了。
5)修改 Darknet 的配置文件
找到 Darknet 工程中的配置设置,一般需要改这些:
GPU=1
CUDNN=1
OPENCV=1
OPENMP=1
DEBUG=0
含义:
GPU=1:开启显卡加速CUDNN=1:启用 cuDNNOPENCV=1:启用 OpenCVOPENMP=1:启用多线程DEBUG=0:正式编译模式
6)重新编译项目
和 CPU 版一样:
- 选择 Release
- 选择 x64
- 点击 生成解决方案
如果前面 CUDA、cuDNN、OpenCV 都正确,编译通常能过。
7)测试 GPU 是否生效
编译成功后,可以运行测试命令。
如果是 GPU 版,Darknet 启动时一般会输出类似信息,说明使用了 CUDA/GPU。
你也可以在任务管理器里看显卡占用,或者用 nvidia-smi 观察显存变化。
四、常见报错与解决办法
下面这些是 Windows 安装 Darknet 时最常见的问题。
1)报错:找不到 cl.exe
原因:
Visual Studio 没装 C++ 编译组件,或者命令行环境没加载成功。
解决:
- 打开 Visual Studio Installer
- 勾选:
- 使用 C++ 的桌面开发
- MSVC 工具集
- Windows SDK
- 重新安装后再编译
2)报错:找不到 nvcc
原因:
CUDA 没装好,或者环境变量没配置。
解决:
- 检查 CUDA 是否安装
- 检查
Path里是否有 CUDA 的bin路径 - 重新打开命令行测试:
nvcc -V
3)报错:找不到 OpenCV 相关文件
原因:
OpenCV 没配置好,DLL 路径没加,或者头文件、库文件路径错误。
解决:
- 检查
OPENCV_DIR - 检查
Path - 确认
include和lib路径正确 - 确认工程配置里引用了 OpenCV
4)报错:cudnn.h 找不到
原因:
cuDNN 没拷贝到 CUDA 目录,或者版本不匹配。
解决:
- 把 cuDNN 的
bin/include/lib文件复制到 CUDA 对应目录 - 确保版本和 CUDA 匹配
5)编译通过了,但运行时闪退
常见原因:
- 缺少 DLL
- 权重文件路径写错
- 配置文件和权重文件不匹配
- 图像路径含中文
解决:
- 把项目放到英文路径
- 检查命令行参数
- 确认
.cfg和.weights是一套模型文件 - 尽量不要把图片放在中文目录
五、一个更省事的安装思路:先跑官方测试样例
如果你是小白,别一上来就想着训练模型。
先做最简单的验证:
测试步骤:
- 编译 Darknet
- 准备官方权重文件
- 找一张英文路径下的测试图片
- 执行检测命令
例如:
darknet.exe detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg
看到什么算成功?
如果程序能识别出图中的狗、车、人等物体,并输出检测框,那就说明:
- 编译成功
- 配置成功
- 权重文件可用
- 推理流程正常
六、安装 Darknet 时的避坑建议
1)不要用太老的系统环境
Windows 7 之类的旧系统,很多新版本工具链支持不好。
建议直接用 Windows 10 或 11。
2)不要把项目放在中文路径
比如:
D:\桌面\darknetC:\用户\小明\下载\darknet
这些路径容易让编译器或程序出问题。
3)CUDA、cuDNN、Visual Studio 版本要匹配
这是最容易翻车的地方。
如果版本对不上,很多错误看起来很玄学,其实就是环境不兼容。
4)先 CPU 后 GPU
新手别一开始就把 GPU、OpenCV、cuDNN 全堆上去。
最好先编译 CPU 版确认流程,再逐步开启 GPU。
5)优先使用成熟分支
有些旧源码已经很久没维护,Windows 下兼容性差。
尽量选择支持较好的维护版本,省很多麻烦。
七、如果你的目标是“训练自己的模型”,还要补这些内容
Darknet 不只是安装,还涉及训练流程。
如果你后面要自己训练目标检测模型,还得准备:
1)数据集
- 图片
- 标注文件
- 划分训练集、验证集
2)配置文件
要修改:
- 类别数
- 过滤层参数
- batch、subdivisions
- 输入尺寸
3)权重文件
- 可以从预训练模型开始微调
- 不建议从零训练,太费时间
4)标注工具
常见如:
- LabelImg
- CVAT
- Roboflow
如果你只是安装并运行检测,这部分可以先不用管。
八、最推荐的新手安装顺序
如果你是第一次装,按这个顺序来最稳:
路线 A:最稳妥
- 安装 Visual Studio
- 下载 Darknet 源码
- 先编译 CPU 版
- 跑通测试图片
- 再安装 CUDA
- 再装 cuDNN
- 切换成 GPU 版
- 再测试性能
路线 B:一步到位
- 安装显卡驱动
- 安装 Visual Studio
- 安装 CUDA
- 安装 cuDNN
- 安装 OpenCV
- 编译 GPU 版 Darknet
- 测试检测
如果你技术基础一般,建议走 路线 A。
九、安装完成后的检查清单
你可以对照下面的清单确认是否真的装好:
- [ ] Visual Studio 可正常打开工程
- [ ]
darknet.exe能成功生成 - [ ]
nvidia-smi能显示显卡信息 - [ ]
nvcc -V能显示 CUDA 版本 - [ ] cuDNN 文件已复制到 CUDA 目录
- [ ] OpenCV 路径配置正确
- [ ] 测试图片能正常识别
- [ ] 不再出现 DLL 缺失、路径错误、编译失败
十、总结:Windows 安装 Darknet 的关键点
Windows 下安装 Darknet,核心不是“点安装”,而是把 编译环境、CUDA、cuDNN、OpenCV、源码工程 一起理顺。
记住这几个重点就够了:
- 新手先装 CPU 版
- 有 NVIDIA 显卡再上 GPU 版
- Visual Studio 一定要装 C++ 开发组件
- CUDA 和 cuDNN 版本要匹配
- 路径尽量用英文、简单、短路径
- 先跑通测试,再考虑训练自己的模型
只要这几步做对,Windows 下的 Darknet 并没有想象中那么难。真正容易卡人的,通常不是 Darknet 本身,而是环境配置和版本匹配。

还没有评论,来说两句吧...