跳到主要内容

DarkNet训练流程

环境配置

  • Nvidia 显卡驱动
  • CUDA 和 CUDNN 环境
  • OpenCV环境

GPU环境相关配置

编译源码

cd ~/darknet
sudo vim Makeflie #修改 Makefile 文件中的 GPU = 1 || OpenCV = 1
make -j12 # -j12 取决于 CPU 核心数

需要注意的是:在 Anaconda 环境下在编译中会出现 OpenCV库 缺失的问题

这需要你修改 .bashrc 文件注释掉 Anaconda 的启动

sudo vim ~/.bashrc
source ~/.bashrc

注释如图所示

1

注释完成后启动终端 (base)root@ 消失

2

训练过程

准备VOC数据集

格式如图所示

1

VOC数据集简介

分割验证集

cd ~/VOCdevkit/VOC2022
mkdir ImageSets/Main -p
python3 spilt.py

添加标签信息

# 先修改voc_label.py 的 classes 信息,使之与数据集标签对应
# 在修改 cfg/ 目录下的 laji.data 文件,使 cls 的种类数量与数据集标签种类数量对应
# 修改 data/ 目录下的 laji.name 文件,使之与数据集标签对应
cd ~/darknet
python3 voc_label.py

完成此事项后,应该检查一下VOC2022目录下是否出现 Label 文件夹 并且 txt 文件有数据

启动训练

cd ~/darknet
./darknet detector train cfg/laji.data yolov2-tiny.cfg

** 在 loss 指标越小的时候模型更好**

获取权重

将 backup/ 目录下的 权重文件保存即可

验证权重

./darknet detect yolov2_tiny.cfg backup/yolo2_tiny.weights /img.jpg

Refenrnce

DarkNet_YOLO

DarkNet_YOLO_GitHub