yolo训练

本文详细介绍如何修改Yolo-V2/V3的cfg配置文件,包括调整迭代保存次数、修改卷积层filter数量及classes参数,以及如何进行训练、测试和评估mAP。同时,讲解了配置文件、权重文件、数据集标签和图像路径的准备方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

训练过程中修改cfg配置文件:
detector.c文件中第206行更改迭代保存次数,进行保存(源代码中为100,当大于2000后,改为10000),更快达到45000次

  1. Yolo-V2中只需要修改最后一层卷积层中的filter,filter等于(classes + 5)* 5,region中的classes也需要进行修改。
  2. 如果classes = 1, filter = 30;Classes = 2, filter = 35;
  3. Yolo-V3中则按照官网对应的进行修改,filter和classes分别各有三处需要进行修改,但filter等于(classes + 5)* 3。
  4. yolO v3
  5. 训练: ./darknet detector train data/myself/obj.data data/myself/yolov3-myself.cfg build/darknet/x64/darknet53.conv.74 -gpus 1,2,3
  6. 测试一张图片:./darknet detector test data/myself/obj.data data/myself/yolov3-myself.cfg backup/yolov3-myself_24768.weights data/myself/JPEGImages/000002.png
  7. 测试mAP : ./darknet detector map data/myself/obj.data data/myself/yolov3-myself.cfg backup/yolov3-myself_13624.weights
     

parse.c文件修改显示:

  • 第730行设置显示的网络参数
  • 第733行设置显示的网络
  • 第1152行设置加载模型位置
  • 第815行显示Total BFLOPS
  • 第1164行printf("\n seen 64 \n")
  • 第1170行printf("\n seen 32 \n")

shortcut_layer.c第9行设置fprintf(stderr,"Shortcut Layer: %d\n", index)
convolutional_layer.c第402行设置fprintf(stderr, "conv  %5d %2d x%2d /%2d  %4d x%4d x%4d   ->  %4d x%4d x%4d %5.3f BF\n", n, size, size, stride, w, h, c, l.out_w, l.out_h, l.out_c, l.bflops)
route_layer.c:

  •  第8行fprintf(stderr,"route ")
  • 第18行fprintf(stderr," %d", input_layers[i])
  • 第21行fprintf(stderr, "\n")

unsample_layer.c:

  • 第39行和40行显示:if(l.reverse) fprintf(stderr, "downsample         %2dx  %4d x%4d x%4d   ->  %4d x%4d x%4d\n", stride, w, h, c, l.out_w, l.out_h, l.out_c);
  •  else fprintf(stderr, "upsample           %2dx  %4d x%4d x%4d   ->  %4d x%4d x%4d\n", stride, w, h, c, l.out_w, l.out_h, l.out_c);
  • yolo_layer.c:
  •  第58行fprintf(stderr, "yolo\n")
  • Demo.c:
  •  第109行printf("\nFPS:%.1f\n",fps);

训练需要:
1.    txt文件:分为train.txt和test.txt,写入图片相对路径
2.    obj.names和obj.data
3.    yolo.cfg和初始网络权重darkent53.conv.74(示例:yolo-v3)
4.    labels目录文件存放所有图像的txt文件,每张图像对应一个txt文件,命名相同。
0 0.721728594507 0.577540106952 0.0525040387722 0.406417112299
1 0.42084006462 0.54679144385 0.0290791599354 0.211229946524
其中0对应着obj.names中第一个label名字,1对应着obj.names第二个label名字,接着为x,y,width和height
X = (center_x)/图像宽
Y = (center_y)/图像高
Width = (center_width)/图像宽
Height = (center_height)/图像高
5.    JPEGImages目录文件存放所有图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值