Skip to content

Latest commit

 

History

History

voc

YOLO on VOC

模型库

网络模型 输入尺寸 图片数/GPU 学习率策略 TRT-FP16-Latency(ms) mAP(0.50,11point) Params(M) FLOPs(G) 下载链接 配置文件
YOLOv5-s 640 16 60e 3.2 80.3 7.24 16.54 下载链接 配置文件
YOLOv7-tiny 640 32 60e 2.6 80.2 6.23 6.90 下载链接 配置文件
YOLOX-s 640 8 40e 3.0 82.9 9.0 26.8 下载链接 配置文件
PP-YOLOE+_s 640 8 30e 2.9 86.7 7.93 17.36 下载链接 配置文件

注意:

  • 所有YOLO模型均使用VOC数据集训练,mAP为mAP(IoU=0.5)的结果,且评估未使用multi_label等trick;
  • 所有YOLO模型均加载各自模型的COCO权重作为预训练,各个配置文件的配置均为默认使用8卡GPU,可作为自定义数据集设置参考,具体精度会因数据集而异;
  • YOLO检测模型建议batch_size至少大于64去训练,如果资源不够请换小模型减小模型的输入尺度,为了保障较高检测精度,尽量不要尝试单卡训和总batch_size小于64
  • Params(M)和FLOPs(G)均为训练时所测,YOLOv7没有s模型,故选用tiny模型;
  • TRT-FP16-Latency(ms)测速相关请查看各YOLO模型的config的主页;

使用教程

下载数据集:

下载PaddleDetection团队整理的VOC数据,并放置于PaddleDetection/dataset/voc

wget https://bj.bcebos.com/v1/paddledet/data/voc.zip

训练评估预测:

model_name=voc
job_name=ppyoloe_plus_crn_s_30e_voc # 可修改,如 yolov7_tiny_60e_voc

config=configs/${model_name}/${job_name}.yml
log_dir=log_dir/${job_name}
# weights=https://bj.bcebos.com/v1/paddledet/models/${job_name}.pdparams
weights=output/${job_name}/model_final.pdparams

# 1.训练(单卡/多卡)
# CUDA_VISIBLE_DEVICES=0 python tools/train.py -c ${config} --eval --amp
python -m paddle.distributed.launch --log_dir=${log_dir} --gpus 0,1,2,3,4,5,6,7 tools/train.py -c ${config} --eval --amp

# 2.评估
CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c ${config} -o weights=${weights} --classwise

# 3.预测
CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c ${config} -o weights=${weights} --infer_img=demo/000000014439_640x640.jpg --draw_threshold=0.5