Skip to content

Commit dfa9110

Browse files
committed
support yolov5u inference
1 parent 5ddced5 commit dfa9110

8 files changed

+167
-0
lines changed

configs/yolov5/README.md

+11
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,20 @@
2828
| YOLOv5p6-l | 1280 | 8 | 300e | - | 53.4 | 71.0 | 76.77 | 223.09 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5p6_l_300e_coco.pdparams) | [配置文件](./yolov5p6_l_300e_coco.yml) |
2929
| YOLOv5p6-x | 1280 | 8 | 300e | - | 54.7 | 72.4 | 140.80 | 420.03 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5p6_x_300e_coco.pdparams) | [配置文件](./yolov5p6_x_300e_coco.yml) |
3030

31+
### YOLOv5u 模型
32+
33+
| 网络网络 | 输入尺寸 | 图片数/GPU | 学习率策略 | 模型推理耗时(ms) | mAP<sup>val<br>0.5:0.95 | mAP<sup>val<br>0.5 | Params(M) | FLOPs(G) | 下载链接 | 配置文件 |
34+
| :------------- | :------- | :-------: | :------: | :------------: | :---------------------: | :----------------: |:---------: | :------: |:---------------: |:-----: |
35+
| YOLOv5-n | 640 | 16 | 300e | - | 34.5 | 49.7 | 2.65 | 7.79 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_n_300e_coco.pdparams) | [配置文件](./yolov5u/yolov5u_n_300e_coco.yml) |
36+
| YOLOv5-s | 640 | 16 | 300e | - | 43.0 | 59.7 | 9.15 | 24.12 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_s_300e_coco.pdparams) | [配置文件](./yolov5u/yolov5u_s_300e_coco.yml) |
37+
| YOLOv5-m | 640 | 16 | 300e | - | 49.0 | 65.7 | 25.11 | 64.42 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_m_300e_coco.pdparams) | [配置文件](./yolov5u/yolov5u_m_300e_coco.yml) |
38+
| YOLOv5-l | 640 | 16 | 300e | - | 52.2 | 69.0 | 53.23 | 135.34 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_l_300e_coco.pdparams) | [配置文件](./yolov5u/yolov5u_l_300e_coco.yml) |
39+
| YOLOv5-x | 640 | 16 | 300e | - | 53.1 | 69.9 | 97.28 | 246.89 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_x_300e_coco.pdparams) | [配置文件](./yolov5u/yolov5u_x_300e_coco.yml) |
40+
3141

3242
**注意:**
3343
- YOLOv5模型训练使用COCO train2017作为训练集,Box AP为在COCO val2017上的`mAP(IoU=0.5:0.95)`结果;
44+
- YOLOv5u 模型表示YOLOv5结构使用YOLOv8的head和loss,YOLOv5u 模型暂未支持完全训练;
3445
- YOLOv5模型训练过程中默认使用8 GPUs进行混合精度训练,默认lr为0.01为8卡总batch_size的设置,如果**GPU卡数**或者每卡**batch size**发生改动,也不需要改动学习率,但为了保证高精度最好使用**总batch size大于64**的配置去训练;
3546
- 模型推理耗时(ms)为TensorRT-FP16下测试的耗时,不包含数据预处理和模型输出后处理(NMS)的耗时。测试采用单卡Tesla T4 GPU,batch size=1,测试环境为**paddlepaddle-2.3.2**, **CUDA 11.2**, **CUDNN 8.2**, **GCC-8.2**, **TensorRT 8.0.3.4**,具体请参考[速度测试](#速度测试)
3647
- 如果你设置了`--run_benchmark=True`, 你首先需要安装以下依赖`pip install pynvml psutil GPUtil`
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
architecture: YOLOv5
2+
norm_type: sync_bn
3+
use_ema: True
4+
ema_decay: 0.9999
5+
ema_decay_type: "exponential"
6+
act: silu
7+
find_unused_parameters: True
8+
9+
depth_mult: 1.0
10+
width_mult: 1.0
11+
12+
13+
YOLOv5:
14+
backbone: CSPDarkNet
15+
neck: YOLOCSPPAN
16+
yolo_head: YOLOv8Head
17+
post_process: ~
18+
19+
CSPDarkNet:
20+
arch: "P5"
21+
return_idx: [2, 3, 4]
22+
depthwise: false
23+
24+
YOLOCSPPAN:
25+
depthwise: false
26+
27+
YOLOv8Head:
28+
fpn_strides: [8, 16, 32]
29+
loss_weight: {class: 0.5, iou: 7.5, dfl: 1.5}
30+
assigner:
31+
name: TaskAlignedAssigner
32+
topk: 10
33+
alpha: 0.5
34+
beta: 6.0
35+
nms:
36+
name: MultiClassNMS
37+
nms_top_k: 1000
38+
keep_top_k: 300
39+
score_threshold: 0.001
40+
nms_threshold: 0.7

configs/yolov5/yolov5u/README.md

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# YOLOv5u
2+
3+
### YOLOv5u 模型
4+
5+
| 网络网络 | 输入尺寸 | 图片数/GPU | 学习率策略 | 模型推理耗时(ms) | mAP<sup>val<br>0.5:0.95 | mAP<sup>val<br>0.5 | Params(M) | FLOPs(G) | 下载链接 | 配置文件 |
6+
| :------------- | :------- | :-------: | :------: | :------------: | :---------------------: | :----------------: |:---------: | :------: |:---------------: |:-----: |
7+
| YOLOv5-n | 640 | 16 | 300e | - | 34.5 | 49.7 | 2.65 | 7.79 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_n_300e_coco.pdparams) | [配置文件](./yolov5u_n_300e_coco.yml) |
8+
| YOLOv5-s | 640 | 16 | 300e | - | 43.0 | 59.7 | 9.15 | 24.12 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_s_300e_coco.pdparams) | [配置文件](./yolov5u_s_300e_coco.yml) |
9+
| YOLOv5-m | 640 | 16 | 300e | - | 49.0 | 65.7 | 25.11 | 64.42 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_m_300e_coco.pdparams) | [配置文件](./yolov5u_m_300e_coco.yml) |
10+
| YOLOv5-l | 640 | 16 | 300e | - | 52.2 | 69.0 | 53.23 | 135.34 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_l_300e_coco.pdparams) | [配置文件](./yolov5u_l_300e_coco.yml) |
11+
| YOLOv5-x | 640 | 16 | 300e | - | 53.1 | 69.9 | 97.28 | 246.89 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov5u_x_300e_coco.pdparams) | [配置文件](./yolov5u_x_300e_coco.yml) |
12+
13+
14+
**注意:**
15+
- YOLOv5u 模型表示YOLOv5结构使用YOLOv8的head和loss,YOLOv5u 模型暂未支持完全训练;
16+
- YOLOv5u 模型训练使用COCO train2017作为训练集,Box AP为在COCO val2017上的`mAP(IoU=0.5:0.95)`结果;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
_BASE_: [
2+
'../../datasets/coco_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_300e_high.yml',
5+
'../_base_/yolov5u_cspdarknet.yml',
6+
'../_base_/yolov5_reader_high_aug.yml',
7+
]
8+
depth_mult: 1.0
9+
width_mult: 1.0
10+
11+
log_iter: 100
12+
snapshot_epoch: 10
13+
weights: output/yolov5u_l_300e_coco/model_final
14+
15+
16+
TrainReader:
17+
batch_size: 16 # default 8 gpus, total bs = 128
18+
19+
20+
YOLOv5Loss:
21+
obj_weight: 0.7
22+
cls_weght: 0.3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
_BASE_: [
2+
'../../datasets/coco_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_300e_high.yml',
5+
'../_base_/yolov5u_cspdarknet.yml',
6+
'../_base_/yolov5_reader_high_aug.yml',
7+
]
8+
depth_mult: 0.67
9+
width_mult: 0.75
10+
11+
log_iter: 100
12+
snapshot_epoch: 10
13+
weights: output/yolov5u_m_300e_coco/model_final
14+
15+
16+
TrainReader:
17+
batch_size: 16 # default 8 gpus, total bs = 128
18+
19+
20+
YOLOv5Loss:
21+
obj_weight: 0.7
22+
cls_weght: 0.3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
_BASE_: [
2+
'../../datasets/coco_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_300e.yml',
5+
'../_base_/yolov5u_cspdarknet.yml',
6+
'../_base_/yolov5_reader.yml',
7+
]
8+
depth_mult: 0.33
9+
width_mult: 0.25
10+
11+
log_iter: 100
12+
snapshot_epoch: 10
13+
weights: output/yolov5u_n_300e_coco/model_final
14+
15+
16+
TrainReader:
17+
batch_size: 16 # default 8 gpus, total bs = 128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
_BASE_: [
2+
'../../datasets/coco_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_300e.yml',
5+
'../_base_/yolov5u_cspdarknet.yml',
6+
'../_base_/yolov5_reader.yml',
7+
]
8+
depth_mult: 0.33
9+
width_mult: 0.50
10+
11+
log_iter: 100
12+
snapshot_epoch: 10
13+
weights: output/yolov5u_s_300e_coco/model_final
14+
15+
16+
TrainReader:
17+
batch_size: 16 # default 8 gpus, total bs = 128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
_BASE_: [
2+
'../../datasets/coco_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_300e_high.yml',
5+
'../_base_/yolov5u_cspdarknet.yml',
6+
'../_base_/yolov5_reader_high_aug.yml',
7+
]
8+
depth_mult: 1.33
9+
width_mult: 1.25
10+
11+
log_iter: 100
12+
snapshot_epoch: 10
13+
weights: output/yolov5u_x_300e_coco/model_final
14+
15+
16+
TrainReader:
17+
batch_size: 16 # default 8 gpus, total bs = 128
18+
19+
20+
YOLOv5Loss:
21+
obj_weight: 0.7
22+
cls_weght: 0.3

0 commit comments

Comments
 (0)