darknet YOLO 训练相关知识

简介: darknet YOLO 训练相关知识,本人博客,从csdn搬运

训练集配比 7:2:1
训练语句

./darknet detector train data/car1.data cfg/car.cfg yolov3.weights -clear
./darknet detector train data/car2.data cfg/car2.cfg yolov3.weights -clear
断点续训语句

./darknet detector train data/car1.data cfg/car.cfg .\backup\car_last.weights
测试语句
./darknet detect cfg/car.cfg car_last.weights D:\project\shipdata\car_test\20210610_144412_801-0.00.04.50.jpg

推荐训练配置 和参数修改
训练 Yolo v3:

创建yolo-obj.cfg与中相同内容的文件yolov3.cfg(或复制yolov3.cfg到yolo-obj.cfg)并:
将行批次更改为batch=64
将线细分更改为subdivisions=8
将 max_batches 行更改为 ( classes*2000),如果您训练 3 类,则设定 max_batches=6000
将行步更改为 max_batches的 80% 和 90%steps=4800,5400
将classes=80行更改为 3 层中的每个对象的数量
[yolo]层位置:
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L610
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L696
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L783
将 [ filters=255] 改为 filters=(classes + 5)x3 ,需要修改的filters 在三个[yolo]层前的[convolutional]层中
定位如下
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L603
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L689
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L776
所以如果classes=1then 应该是filters=18. 如果classes=2那么写filters=21。

权重测试语句
如果训练在 9000 次迭代后停止,要验证之前的一些权重,请使用以下命令:

(如果您使用另一个 GitHub 存储库,则使用darknet.exe detector recall... 而不是darknet.exe detector map...)

darknet.exe detector map data/obj.data yolo-obj.cfg backup\yolo-obj_7000.weights
darknet.exe detector map data/obj.data yolo-obj.cfg backup\yolo-obj_8000.weights
darknet.exe detector map data/obj.data yolo-obj.cfg backup\yolo-obj_9000.weights

如果您在 cfg 文件中更改了 width= 或 height=,则新的宽度和高度必须能被 32 整除。

预训练文件生成
yolov3-tiny.conv.15使用命令获取预训练的权重:darknet.exe partial cfg/yolov3-tiny.cfg yolov3-tiny.weights yolov3-tiny.conv.15 15
./darknet partial yolo-fastest.cfg yolo-fastest.weights yolo-fastest.conv.109 109

训练操作
根据darknet 训练语句推断yolov3一次训练需要准备的东西
./darknet detector train data/desk.data cfg/desk.cfg yolov3.weights -clear
这句话的意思是,初始权重参数为yolov3.weights 训练的结构是cfg/desk.cfg,训练的数据为 data/desk.data
那么我们再看这都是啥,需要改啥
desk.data内容如下:
classes= 1
train = data/desk_train.txt
valid = data/desk_valid.txt
names = data/desk.names
backup = backup/
backup 是权重备份和生成的路径,names 用于存储目标物体的名字,
classes指定目标检测的种类,desk_train.txt 存储训练集的jpg文件路径,desk_valid.txt存储测试集的jpg文件路径
names 文件内容:
aeroplane
bird
boat
bus
motorbike
tvmonitor

目录
相关文章
|
6月前
|
机器学习/深度学习 数据可视化 网络架构
请你继续卷:YOLOV9
请你继续卷:YOLOV9
199 0
|
6月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch CIFAR10图像分类 Swin Transformer篇(一)
Pytorch CIFAR10图像分类 Swin Transformer篇(一)
|
6月前
|
机器学习/深度学习 数据可视化 算法
Pytorch CIFAR10图像分类 Swin Transformer篇(二)
Pytorch CIFAR10图像分类 Swin Transformer篇(二)
|
算法 Go 计算机视觉
【YOLO系列】YOLOv8算法(尖端SOTA模型)
Ultralytics YOLOv8 是由 Ultralytics开发的一个前沿 SOTA 模型。它在以前 YOLO 版本的成功基础上,引入了新的功能和改进,进一步提升了性能和灵活性。YOLOv8 基于快速、准确和易于使用的理念设计,使其成为广泛的物体检测、图像分割和图像分类任务的绝佳选择。
2929 0
【YOLO系列】YOLOv8算法(尖端SOTA模型)
|
6月前
|
监控 算法 自动驾驶
YOLO
YOLO“【5月更文挑战第23天】”
103 1
|
5月前
|
机器学习/深度学习 计算机视觉 网络架构
YOLOv9这么快就来了,赶紧学起来~
YOLOv9这么快就来了,赶紧学起来~
|
网络安全 开发工具 网络架构
YOLOV7详细解读(四)训练自己的数据集
YOLOV7详细解读(四)训练自己的数据集
764 0
|
机器学习/深度学习 人工智能 固态存储
YOLO v1详细解读
《You Only Look Once: Unifified, Real-Time Object Detection》 Joseph Redmon∗* , Santosh Divvala∗†, Ross Girshick*¶* , Ali Farhadi∗† University of Washington∗ , Allen Institute for AI*†* , Facebook AI Research*¶**
YOLO v1详细解读
|
机器学习/深度学习 算法 数据挖掘
YOLO v3详细解读
《YOLOv3: An Incremental Improvement》 Joseph Redmon Ali Farhadi University of Washington
YOLO v3详细解读
|
编解码 人工智能 固态存储
YOLO v2详细解读
《YOLO9000:Better, Faster, Stronger》 Joseph Redmon∗†, Ali Farhadi∗†* University of Washington∗ , Allen Institute for AI*†** 发表时间及期刊:2017 CVPR
YOLO v2详细解读

相关实验场景

更多
下一篇
无影云桌面