AlexeyAB版yolov4 -win10端超详细教程,已实践(环境配置-成功运行)

前言:

AB大神版的yolov4在win10端的配置(详细教程)

Requirements:

第一步,安装Visual Studio

安装visual Studio,我这里选择了Visual Studio 2019。下载地址在Requirements

  • 在这里选择你想使用功能,我在这里选了pythonC++

在这里插入图片描述

  • 之后需要别的功能,可以打开visual studio Installer 进行添加

第二步,安装Cmake

安装cMake,下载地址在Requirements(x86指的是32位系统;x64指的是64位系统),我选择的是3.20版本

  • 记得勾选Create Cmake Desktop Icon(创建桌面图标)和 Add Cmake to the system PATH for all users(添加环境变量)

第三步:安装nvidia 驱动

安装nvidia驱动,下载地址在Requirements
在这里插入图片描述

我这里选择的是版本是461.09,太新的可能找不到匹配的cuda版本
在这里插入图片描述

地址啥的就别改了,避免后续不必要的麻烦(如果自定义了务必记住地址),然后一路下一步直到安装完成

第四步:安装cuda(要与nvidia驱动相匹配)

  1. 查看需要的匹配的版本,在桌面上右键打开NVIDIA 控制面板
    在这里插入图片描述

  2. 帮助中打开系统信息
    在这里插入图片描述

  3. 选择组件,即可看到对应的cuda版本

在这里插入图片描述

  1. 打开Requirements中的链接,选择你需要下载的cuda,我这里的版本是11.2
    在这里插入图片描述

  2. 安装步骤与第三步相同

  3. 测试,打开cmd,输出nvcc -V,获得类似以下内容就没问题了
    在这里插入图片描述

第五步:安装cudnn(需要与cuda版本匹配)

  1. 安装cudnn,下载地址在Requirements,选择与cuda匹配的版本,这里需要登录才能下载。

在这里插入图片描述

下载完后是一个压缩包,解压后会获得一下文件
在这里插入图片描述

  1. 打开 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\V11.2**(即上面驱动和CUDA安装地址)将解压后得到的的bin ,includelib文件夹分别复制到cuda安装路径下与cuda的bin ,includelib文件夹合并
  2. 添加环境变量:右击此电脑-属性-高级系统设置-环境变量,找到系统变量中的path,选择编辑,添加以下路径(即安装路径)

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp

  1. 测试安装是否成功,运行CUDA的官方示例,win + r 打开cmdcd到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite,运行bandwidthTest.exedeviceQuery.exe

    会获得一堆信息,在最后会得到一个PASS,则证明安装成功

第六步:下载opencv

  1. 安装opencv,下载地址在Requirements,我这里选择的是4.5.2,安装地址改了的请务必记住,后面用得到。
    在这里插入图片描述

  2. 安装完成后,添加环境变量:右击此电脑-属性-高级系统设置-环境变量,找到系统变量中的path

C:\Program Files\opencv\build\x64\vc15\bin
C:\Program Files\opencv\build\x64\vc14\bin

  1. 添加完成后,建议重启下,保证环境变量生效

第七步:利用cmake build darknet

  1. 下载A版darknet,地址:https://github.com/AlexeyAB/darknet/archive/master.zip
  2. 打开cmake,然后按照以下步骤操作(图来自AB大神的github)在这里插入图片描述

可能会遇到的问题1:找不到CUDA,解决办法:上面的安装步骤哪一步做错了
问题2:找不到opencv,解决办法:

  • 右击此电脑-属性-高级系统设置-环境变量,找到系统变量中的**path,新建,添加“变量名”:OpenCV_DIR;变量值:C:\Program Files\opencv\build
  • 打开darknet文件夹,打开CmakeList(可以用记事本打开),ctrl+f 搜索find_package(Opencv)在这之前加入set(OpenCV_DIR "/path/to/opencv/bulid")
  1. 源码路径下会生成 Darknet.sln等项目文件,双击打开,选择debug或release, x64,右键选择ALL_BUILD生成
    4.如果生成没有错误,即可右键选择INSTALL,选择“仅用于项目”----“仅生成INSTALL” ,成功后会生成darknet.exedark.dll等文件
    5.需要将OpenCV对应版本的dll放在darknet.exe同目录,同时需要pthreadGC2.dll和pthreadVC2.dll(你也可以选择把darknet.exe以及这两个文件都放到C:\Users\Administrator\Desktop\darknet\build\darknet\x64,这样更方便)
    在这里插入图片描述
    在这里插入图片描述

6.修改/创建cfg文件,如打开:(其他修改参照https://github.com/AlexeyAB/darknetC:\Users\Administrator\Desktop\darknet\build\darknet\x64\cfg\yolov4-csp.cfg

  • 修改batch batch=64
  • 修改subdivisions batch=8

适当修改batch和subdivisions,不然容易GPU out of Memory

  • 修改最大迭代数max_batches一般等于类别数*2000
  • 修改step 分别等于最大迭代数80%和90%
  • 适当修改输入图片大小width height,必须保证可以整除32
  • 修改三个yolo层(ctrl+f 搜索yolo)的类别数:classes
  • 修改三个yolo层前filters的数量 filters *(类别数+5) * 3,即类别数加(四个坐标+置信度得分)三个yolo检测器
  • 创建C:\Users\Administrator\Desktop\darknet\build\darknet\x64\data\中创建detect.data

输入以下内容:

classes = X(你的数据集的类别数)
train  = data/train.txt
valid  = data/test.txt
names = data/detect.names
backup = backup/

text文件类似以下:

data/images/6057.jpg
data/images/5402.jpg
data/images/2508.jpg
data/images/4154.jpg
data/images/5086.jpg
data/images/3589.jpg
data/images/6448.jpg
data/images/748.jpg
data/images/6549.jpg
data/images/6873.jpg
data/images/8182.jpg
data/images/1572.jpg
data/images/7195.jpg
data/images/3319.jpg
  • 创建C:\Users\Administrator\Desktop\darknet\build\darknet\x64\data\中创建detect.name

格式和以下内容相似:

aeroplane
bicycle
bird
boat
bottle
bus
car
cat
  • 把自己的数据集(图片和标签)放到C:\Users\Administrator\Desktop\darknet\build\darknet\x64\data\images\下,路径要和data/train.txtdata/test.txt中一样

7.have a try:打开cmdcdC:\Users\Administrator\Desktop\darknet\build\darknet\x64,输入darknet.exe detector train data/xxx.data cfg/yolov4-csp.cfg yolov4-csp.conv.142
跳出以下内容就可以了(可以用任务管理器查看GPU占用)
在这里插入图片描述

目前先到这里了,本文相当于介绍AB大神的readme中部分,增加了部分涉及的不完全的东西,避免遇到坑。

参考:
1.https://github.com/AlexeyAB/darknet
2.https://blog.csdn.net/qq_41277822/article/details/104018866
3.https://blog.csdn.net/weixin_42291376/article/details/106276151

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值