├── .github └── ISSUE_TEMPLATE │ ├── 1_bug-report.yml │ ├── 2_feature-request.yml │ ├── 3_documentation-issue.yml │ ├── 4_ask-a-question.yml │ └── 5_others.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .style.yapf ├── .travis.yml ├── .travis ├── codestyle │ ├── clang_format.hook │ └── cpplint_pre_commit.hook ├── precommit.sh ├── requirements.txt └── unittest.sh ├── LICENSE ├── README.md ├── README_cn.md ├── README_en.md ├── configs ├── convnext │ ├── README.md │ ├── ppyoloe_convnext_tiny_36e_coco.yml │ ├── yolov5_convnext_s_36e_coco.yml │ └── yolox_convnext_s_36e_coco.yml ├── datasets │ ├── coco_detection.yml │ ├── coco_instance.yml │ ├── objects365_detection.yml │ ├── openimagesv7_detection.yml │ ├── roadsign_voc.yml │ ├── visdrone_detection.yml │ └── voc.yml ├── focalnet │ ├── README.md │ └── ppyoloe_plus_focalnet_tiny_36e_coco.yml ├── pphuman │ ├── README.md │ ├── pedestrian_yolov3 │ │ ├── README.md │ │ ├── README_cn.md │ │ ├── demo │ │ │ ├── 001.png │ │ │ ├── 002.png │ │ │ ├── 003.png │ │ │ └── 004.png │ │ └── pedestrian_yolov3_darknet.yml │ ├── ppyoloe_crn_l_36e_crowdhuman.yml │ ├── ppyoloe_crn_l_36e_pphuman.yml │ ├── ppyoloe_crn_s_36e_crowdhuman.yml │ ├── ppyoloe_crn_s_36e_pphuman.yml │ ├── ppyoloe_crn_s_80e_smoking_visdrone.yml │ └── ppyoloe_plus_crn_t_auxhead_320_60e_pphuman.yml ├── ppvehicle │ ├── README.md │ ├── mot_ppyoloe_l_36e_ppvehicle.yml │ ├── mot_ppyoloe_l_36e_ppvehicle9cls.yml │ ├── mot_ppyoloe_s_36e_ppvehicle.yml │ ├── mot_ppyoloe_s_36e_ppvehicle9cls.yml │ ├── ppyoloe_crn_l_36e_bdd100kdet.yml │ ├── ppyoloe_crn_l_36e_bdd100kmot.yml │ ├── ppyoloe_crn_l_36e_uadetrac.yml │ ├── ppyoloe_plus_crn_t_auxhead_320_60e_ppvehicle.yml │ └── vehicle_yolov3 │ │ ├── README.md │ │ ├── README_cn.md │ │ ├── demo │ │ ├── 001.jpeg │ │ ├── 003.png │ │ ├── 004.png │ │ └── 005.png │ │ └── vehicle_yolov3_darknet.yml ├── ppyolo │ ├── README.md │ ├── README_cn.md │ ├── _base_ │ │ ├── optimizer_1x.yml │ │ ├── optimizer_2x.yml │ │ ├── optimizer_365e.yml │ │ ├── optimizer_650e.yml │ │ ├── ppyolo_mbv3_large.yml │ │ ├── ppyolo_mbv3_small.yml │ │ ├── ppyolo_r18vd.yml │ │ ├── ppyolo_r50vd_dcn.yml │ │ ├── ppyolo_reader.yml │ │ ├── ppyolo_tiny.yml │ │ ├── ppyolo_tiny_reader.yml │ │ ├── ppyolov2_r50vd_dcn.yml │ │ └── ppyolov2_reader.yml │ ├── ppyolo_mbv3_large_coco.yml │ ├── ppyolo_mbv3_small_coco.yml │ ├── ppyolo_r18vd_coco.yml │ ├── ppyolo_r50vd_dcn_1x_coco.yml │ ├── ppyolo_r50vd_dcn_1x_minicoco.yml │ ├── ppyolo_r50vd_dcn_2x_coco.yml │ ├── ppyolo_r50vd_dcn_voc.yml │ ├── ppyolo_test.yml │ ├── ppyolo_tiny_650e_coco.yml │ ├── ppyolov2_r101vd_dcn_365e_coco.yml │ ├── ppyolov2_r50vd_dcn_365e_coco.yml │ └── ppyolov2_r50vd_dcn_voc.yml ├── ppyoloe │ ├── README.md │ ├── README_cn.md │ ├── README_legacy.md │ ├── _base_ │ │ ├── optimizer_300e.yml │ │ ├── optimizer_36e_xpu.yml │ │ ├── optimizer_400e.yml │ │ ├── optimizer_60e.yml │ │ ├── optimizer_80e.yml │ │ ├── ppyoloe_crn.yml │ │ ├── ppyoloe_plus_crn.yml │ │ ├── ppyoloe_plus_crn_tiny_auxhead.yml │ │ ├── ppyoloe_plus_reader.yml │ │ ├── ppyoloe_plus_reader_320.yml │ │ └── ppyoloe_reader.yml │ ├── application │ │ ├── README.md │ │ ├── _base_ │ │ │ ├── exdark_detection.yml │ │ │ ├── pcb_detection.yml │ │ │ ├── sku110k.yml │ │ │ └── wgisd_detection.yml │ │ ├── ppyoloe_crn_m_80e_exdark.yml │ │ ├── ppyoloe_crn_m_80e_pcb.yml │ │ ├── ppyoloe_crn_m_80e_wgisd.yml │ │ ├── ppyoloe_plus_crn_l_80e_sku110k.yml │ │ ├── ppyoloe_plus_crn_m_80e_coco_pretrained_exdark.yml │ │ ├── ppyoloe_plus_crn_m_80e_coco_pretrained_pcb.yml │ │ ├── ppyoloe_plus_crn_m_80e_coco_pretrained_wgisd.yml │ │ ├── ppyoloe_plus_crn_m_80e_obj365_pretrained_exdark.yml │ │ ├── ppyoloe_plus_crn_m_80e_obj365_pretrained_pcb.yml │ │ ├── ppyoloe_plus_crn_m_80e_obj365_pretrained_wgisd.yml │ │ ├── ppyoloe_plus_crn_m_80e_sku110k.yml │ │ ├── ppyoloe_plus_crn_s_80e_sku110k.yml │ │ └── ppyoloe_plus_crn_x_80e_sku110k.yml │ ├── distill │ │ ├── README.md │ │ ├── ppyoloe_plus_crn_l_80e_coco_distill.yml │ │ ├── ppyoloe_plus_crn_m_80e_coco_distill.yml │ │ └── ppyoloe_plus_crn_s_80e_coco_distill.yml │ ├── objects365 │ │ ├── README_cn.md │ │ ├── ppyoloe_plus_crn_l_60e_objects365.yml │ │ ├── ppyoloe_plus_crn_m_60e_objects365.yml │ │ ├── ppyoloe_plus_crn_s_60e_objects365.yml │ │ └── ppyoloe_plus_crn_x_60e_objects365.yml │ ├── ppyoloe_crn_l_300e_coco.yml │ ├── ppyoloe_crn_l_36e_coco_xpu.yml │ ├── ppyoloe_crn_m_300e_coco.yml │ ├── ppyoloe_crn_s_300e_coco.yml │ ├── ppyoloe_crn_s_400e_coco.yml │ ├── ppyoloe_crn_x_300e_coco.yml │ ├── ppyoloe_plus_crn_l_80e_coco.yml │ ├── ppyoloe_plus_crn_m_80e_coco.yml │ ├── ppyoloe_plus_crn_s_80e_coco.yml │ ├── ppyoloe_plus_crn_t_auxhead_300e_coco.yml │ ├── ppyoloe_plus_crn_t_auxhead_320_300e_coco.yml │ ├── ppyoloe_plus_crn_t_auxhead_relu_300e_coco.yml │ ├── ppyoloe_plus_crn_t_auxhead_relu_320_300e_coco.yml │ ├── ppyoloe_plus_crn_x_80e_coco.yml │ └── voc │ │ ├── README_cn.md │ │ ├── ppyoloe_plus_crn_l_30e_voc.yml │ │ └── ppyoloe_plus_crn_s_30e_voc.yml ├── ppyoloe_seg │ ├── README.md │ ├── _base_ │ │ ├── optimizer_80e.yml │ │ ├── ppyoloe_plus_crn_seg.yml │ │ └── ppyoloe_plus_seg_reader.yml │ ├── ppyoloe_seg_l_80e_coco.yml │ ├── ppyoloe_seg_m_80e_coco.yml │ ├── ppyoloe_seg_s_80e_coco.yml │ └── ppyoloe_seg_x_80e_coco.yml ├── rtdetr │ ├── README.md │ ├── _base_ │ │ ├── optimizer_6x.yml │ │ ├── rtdetr_r50vd.yml │ │ └── rtdetr_reader.yml │ ├── rtdetr_focalnet_L_384_3x_coco.yml │ ├── rtdetr_hgnetv2_l_6x_coco.yml │ ├── rtdetr_hgnetv2_x_6x_coco.yml │ ├── rtdetr_r101vd_6x_coco.yml │ ├── rtdetr_r18vd_6x_coco.yml │ ├── rtdetr_r34vd_6x_coco.yml │ ├── rtdetr_r50vd_6x_coco.yml │ ├── rtdetr_r50vd_m_6x_coco.yml │ └── rtdetr_swin_L_384_3x_coco.yml ├── rtmdet │ ├── README.md │ ├── _base_ │ │ ├── optimizer_300e.yml │ │ ├── rtmdet_cspnext.yml │ │ ├── rtmdet_ins_cspnext.yml │ │ └── rtmdet_reader.yml │ ├── rtmdet_ins_l_300e_coco.yml │ ├── rtmdet_ins_m_300e_coco.yml │ ├── rtmdet_ins_s_300e_coco.yml │ ├── rtmdet_ins_t_300e_coco.yml │ ├── rtmdet_ins_x_300e_coco.yml │ ├── rtmdet_l_300e_coco.yml │ ├── rtmdet_m_300e_coco.yml │ ├── rtmdet_s_300e_coco.yml │ ├── rtmdet_t_300e_coco.yml │ └── rtmdet_x_300e_coco.yml ├── runtime.yml ├── semi_det │ ├── README.md │ ├── _base_ │ │ ├── coco_detection_full.yml │ │ ├── coco_detection_percent_1.yml │ │ ├── coco_detection_percent_10.yml │ │ ├── coco_detection_percent_5.yml │ │ ├── coco_detection_voc.yml │ │ └── voc2coco.py │ ├── baseline │ │ ├── README.md │ │ ├── faster_rcnn_r50_fpn_2x_coco_sup005.yml │ │ ├── faster_rcnn_r50_fpn_2x_coco_sup010.yml │ │ ├── fcos_r50_fpn_2x_coco_sup005.yml │ │ ├── fcos_r50_fpn_2x_coco_sup010.yml │ │ ├── ppyoloe_plus_crn_l_80e_coco_sup005.yml │ │ ├── ppyoloe_plus_crn_l_80e_coco_sup010.yml │ │ ├── ppyoloe_plus_crn_s_80e_coco_sup005.yml │ │ ├── ppyoloe_plus_crn_s_80e_coco_sup010.yml │ │ ├── retinanet_r50_fpn_2x_coco_sup005.yml │ │ └── retinanet_r50_fpn_2x_coco_sup010.yml │ └── denseteacher │ │ ├── README.md │ │ ├── denseteacher_fcos_r50_fpn_coco_full.yml │ │ ├── denseteacher_fcos_r50_fpn_coco_semi005.yml │ │ ├── denseteacher_fcos_r50_fpn_coco_semi010.yml │ │ ├── denseteacher_fcos_r50_fpn_coco_semi010_lsj.yml │ │ ├── denseteacher_ppyoloe_plus_crn_l_coco_semi005.yml │ │ ├── denseteacher_ppyoloe_plus_crn_l_coco_semi010.yml │ │ ├── denseteacher_ppyoloe_plus_crn_s_coco_semi005.yml │ │ └── denseteacher_ppyoloe_plus_crn_s_coco_semi010.yml ├── slim │ ├── README.md │ ├── README_en.md │ ├── distill │ │ ├── README.md │ │ ├── ppyoloe_plus_distill_l_distill_m.yml │ │ ├── ppyoloe_plus_distill_m_distill_s.yml │ │ ├── ppyoloe_plus_distill_x_distill_l.yml │ │ ├── retinanet_resnet101_coco_distill.yml │ │ └── yolov3_mobilenet_v1_coco_distill.yml │ ├── extensions │ │ ├── yolov3_mobilenet_v1_coco_distill_prune.yml │ │ └── yolov3_mobilenetv1_prune_qat.yml │ ├── ofa │ │ └── ofa_picodet_demo.yml │ ├── post_quant │ │ ├── mask_rcnn_r50_fpn_1x_coco_ptq.yml │ │ ├── mcfairmot_ptq.yml │ │ ├── picodet_s_ptq.yml │ │ ├── ppyolo_mbv3_large_ptq.yml │ │ ├── ppyolo_r50vd_dcn_ptq.yml │ │ ├── ppyoloe_crn_s_300e_coco_ptq.yml │ │ ├── tinypose_128x96_ptq.yml │ │ └── yolov3_darknet53_ptq.yml │ ├── prune │ │ ├── faster_rcnn_r50_fpn_prune_fpgm.yml │ │ ├── picodet_m_unstructured_prune_75.yml │ │ ├── picodet_m_unstructured_prune_85.yml │ │ ├── ppyolo_mbv3_large_prune_fpgm.yml │ │ ├── ppyolo_r50vd_prune_fpgm.yml │ │ ├── yolov3_darknet_prune_fpgm.yml │ │ ├── yolov3_prune_fpgm.yml │ │ └── yolov3_prune_l1_norm.yml │ └── quant │ │ ├── mask_rcnn_r50_fpn_1x_qat.yml │ │ ├── picodet_s_416_lcnet_quant.yml │ │ ├── picodet_s_quant.yml │ │ ├── ppyolo_mbv3_large_qat.yml │ │ ├── ppyolo_r50vd_qat_pact.yml │ │ ├── ppyoloe_l_qat.yml │ │ ├── ppyolov2_r50vd_dcn_qat.yml │ │ ├── ssd_mobilenet_v1_qat.yml │ │ ├── tinypose_qat.yml │ │ ├── yolov3_darknet_qat.yml │ │ ├── yolov3_mobilenet_v1_qat.yml │ │ └── yolov3_mobilenet_v3_qat.yml ├── smalldet │ ├── DataDownload.md │ ├── README.md │ ├── _base_ │ │ ├── DOTA_sliced_500_025_detection.yml │ │ ├── visdrone_sliced_640_025_detection.yml │ │ └── xview_sliced_400_025_detection.yml │ ├── ppyoloe_crn_l_80e_sliced_visdrone_640_025.yml │ ├── ppyoloe_crn_l_80e_sliced_visdrone_640_025_slice_infer.yml │ ├── ppyoloe_p2_crn_l_80e_sliced_DOTA_500_025.yml │ ├── ppyoloe_p2_crn_l_80e_sliced_xview_400_025.yml │ ├── ppyoloe_plus_sod_crn_l_80e_coco.yml │ └── visdrone │ │ ├── README.md │ │ ├── ppyoloe_crn_l_80e_visdrone.yml │ │ ├── ppyoloe_crn_l_alpha_largesize_80e_visdrone.yml │ │ ├── ppyoloe_crn_l_p2_alpha_80e_visdrone.yml │ │ ├── ppyoloe_crn_l_p2_alpha_largesize_80e_visdrone.yml │ │ ├── ppyoloe_crn_s_80e_visdrone.yml │ │ ├── ppyoloe_crn_s_p2_alpha_80e_visdrone.yml │ │ ├── ppyoloe_plus_crn_l_largesize_80e_visdrone.yml │ │ ├── ppyoloe_plus_sod_crn_l_80e_visdrone.yml │ │ ├── ppyoloe_plus_sod_crn_l_largesize_80e_visdrone.yml │ │ └── ppyoloe_plus_sod_crn_s_80e_visdrone.yml ├── swin │ ├── README.md │ └── ppyoloe_plus_swin_tiny_36e_coco.yml ├── vitdet │ ├── README.md │ ├── _base_ │ │ ├── optimizer_base_36e.yml │ │ └── ppyoloe_reader.yml │ └── ppyoloe_vit_base_csppan_cae_36e_coco.yml ├── voc │ ├── README.md │ ├── ppyoloe_plus_crn_s_30e_voc.yml │ ├── yolov5_s_60e_voc.yml │ ├── yolov7_tiny_60e_voc.yml │ └── yolox_s_40e_voc.yml ├── yolof │ ├── README.md │ ├── _base_ │ │ ├── optimizer_1x.yml │ │ ├── yolof_r50_c5.yml │ │ └── yolof_reader.yml │ └── yolof_r50_c5_1x_coco.yml ├── yolov10 │ ├── README.md │ ├── _base_ │ │ ├── optimizer_500e.yml │ │ ├── yolov10_cspdarknet.yml │ │ └── yolov10_reader.yml │ ├── yolov10_b_500e_coco.yml │ ├── yolov10_l_500e_coco.yml │ ├── yolov10_m_500e_coco.yml │ ├── yolov10_n_500e_coco.yml │ ├── yolov10_s_500e_coco.yml │ └── yolov10_x_500e_coco.yml ├── yolov3 │ ├── README.md │ ├── _base_ │ │ ├── optimizer_270e.yml │ │ ├── optimizer_40e.yml │ │ ├── yolov3_darknet53.yml │ │ ├── yolov3_mobilenet_v1.yml │ │ ├── yolov3_mobilenet_v3_large.yml │ │ ├── yolov3_mobilenet_v3_small.yml │ │ ├── yolov3_r34.yml │ │ ├── yolov3_r50vd_dcn.yml │ │ └── yolov3_reader.yml │ ├── yolov3_darknet53_270e_coco.yml │ ├── yolov3_darknet53_270e_voc.yml │ ├── yolov3_darknet53_original_270e_coco.yml │ ├── yolov3_darknet53_original_320e_coco_1p.yml │ ├── yolov3_mobilenet_v1_270e_coco.yml │ ├── yolov3_mobilenet_v1_270e_voc.yml │ ├── yolov3_mobilenet_v1_roadsign.yml │ ├── yolov3_mobilenet_v1_ssld_270e_coco.yml │ ├── yolov3_mobilenet_v1_ssld_270e_voc.yml │ ├── yolov3_mobilenet_v3_large_270e_coco.yml │ ├── yolov3_mobilenet_v3_large_270e_voc.yml │ ├── yolov3_mobilenet_v3_large_ssld_270e_voc.yml │ ├── yolov3_r34_270e_coco.yml │ └── yolov3_r50vd_dcn_270e_coco.yml ├── yolov5 │ ├── README.md │ ├── _base_ │ │ ├── optimizer_300e.yml │ │ ├── optimizer_300e_high.yml │ │ ├── yolov5_cspdarknet.yml │ │ ├── yolov5_cspresnet.yml │ │ ├── yolov5_reader.yml │ │ ├── yolov5_reader_high_aug.yml │ │ ├── yolov5p2_cspdarknet.yml │ │ ├── yolov5p6_cspdarknet.yml │ │ └── yolov5p6_reader.yml │ ├── yolov5_l_300e_coco.yml │ ├── yolov5_l_30e_obj365_finetune_coco.yml │ ├── yolov5_m_300e_coco.yml │ ├── yolov5_n_300e_coco.yml │ ├── yolov5_s_300e_coco.yml │ ├── yolov5_s_80e_ssod_finetune_coco.yml │ ├── yolov5_x_300e_coco.yml │ ├── yolov5p6_l_300e_coco.yml │ ├── yolov5p6_m_300e_coco.yml │ ├── yolov5p6_n_300e_coco.yml │ ├── yolov5p6_s_300e_coco.yml │ └── yolov5p6_x_300e_coco.yml ├── yolov5_seg │ ├── README.md │ ├── _base_ │ │ ├── optimizer_300e.yml │ │ ├── optimizer_300e_high.yml │ │ ├── yolov5_seg_cspdarknet.yml │ │ ├── yolov5_seg_reader.yml │ │ └── yolov5_seg_reader_high_aug.yml │ ├── yolov5_seg_l_300e_coco.yml │ ├── yolov5_seg_m_300e_coco.yml │ ├── yolov5_seg_n_300e_coco.yml │ ├── yolov5_seg_s_300e_coco.yml │ └── yolov5_seg_x_300e_coco.yml ├── yolov5u │ ├── README.md │ ├── _base_ │ │ ├── optimizer_300e.yml │ │ ├── optimizer_300e_high.yml │ │ ├── yolov5u_cspdarknet.yml │ │ ├── yolov5u_reader.yml │ │ ├── yolov5u_reader_high_aug.yml │ │ ├── yolov5up6_cspdarknet.yml │ │ └── yolov5up6_reader.yml │ ├── yolov5u_l_300e_coco.yml │ ├── yolov5u_m_300e_coco.yml │ ├── yolov5u_n_300e_coco.yml │ ├── yolov5u_s_300e_coco.yml │ ├── yolov5u_x_300e_coco.yml │ ├── yolov5up6_l_300e_coco.yml │ ├── yolov5up6_m_300e_coco.yml │ ├── yolov5up6_n_300e_coco.yml │ ├── yolov5up6_s_300e_coco.yml │ └── yolov5up6_x_300e_coco.yml ├── yolov6 │ ├── README.md │ ├── _base_ │ │ ├── optimizer_300e.yml │ │ ├── optimizer_300e_fintune.yml │ │ ├── yolov6_cspbep.yml │ │ ├── yolov6_efficientrep.yml │ │ ├── yolov6_reader.yml │ │ ├── yolov6_reader_fintune.yml │ │ └── yolov6_reader_high_aug.yml │ ├── yolov6_l_300e_coco.yml │ ├── yolov6_m_300e_coco.yml │ ├── yolov6_n_300e_coco.yml │ └── yolov6_s_300e_coco.yml ├── yolov6_seg │ ├── README.md │ ├── _base_ │ │ ├── optimizer_300e.yml │ │ ├── yolov6_seg_cspbep.yml │ │ ├── yolov6_seg_efficientrep.yml │ │ ├── yolov6_seg_reader.yml │ │ └── yolov6_seg_reader_high_aug.yml │ ├── yolov6_seg_l_300e_coco.yml │ ├── yolov6_seg_m_300e_coco.yml │ ├── yolov6_seg_n_300e_coco.yml │ ├── yolov6_seg_s_300e_coco.yml │ └── yolov6_seg_x_300e_coco.yml ├── yolov6lite │ ├── README.md │ ├── _base_ │ │ ├── optimizer_400e.yml │ │ ├── optimizer_400e_fintune.yml │ │ ├── yolov6lite_effibackbone.yml │ │ └── yolov6lite_reader_320.yml │ ├── yolov6lite_l_400e_coco.yml │ ├── yolov6lite_m_400e_coco.yml │ └── yolov6lite_s_400e_coco.yml ├── yolov7 │ ├── README.md │ ├── _base_ │ │ ├── optimizer_300e.yml │ │ ├── optimizer_300e_p6.yml │ │ ├── optimizer_300e_tiny.yml │ │ ├── yolov7_elannet.yml │ │ ├── yolov7_reader.yml │ │ ├── yolov7_tiny_reader.yml │ │ ├── yolov7p6_elannet.yml │ │ └── yolov7p6_reader.yml │ ├── yolov7_l_300e_coco.yml │ ├── yolov7_tiny_300e_coco.yml │ ├── yolov7_tiny_320_300e_coco.yml │ ├── yolov7_tiny_416_300e_coco.yml │ ├── yolov7_x_300e_coco.yml │ ├── yolov7p6_d6_300e_coco.yml │ ├── yolov7p6_e6_300e_coco.yml │ ├── yolov7p6_e6e_300e_coco.yml │ └── yolov7p6_w6_300e_coco.yml ├── yolov7u │ ├── README.md │ ├── _base_ │ │ ├── optimizer_300e.yml │ │ ├── yolov7u_elannet.yml │ │ └── yolov7u_reader.yml │ └── yolov7u_l_300e_coco.yml ├── yolov8 │ ├── README.md │ ├── _base_ │ │ ├── optimizer_500e.yml │ │ ├── optimizer_500e_high.yml │ │ ├── yolov8_cspdarknet.yml │ │ ├── yolov8_reader.yml │ │ ├── yolov8_reader_high_aug.yml │ │ ├── yolov8p6_cspdarknet.yml │ │ └── yolov8p6_reader.yml │ ├── openimagev7 │ │ ├── yolov8_l_100e_oiv7.yml │ │ ├── yolov8_m_100e_oiv7.yml │ │ ├── yolov8_n_100e_oiv7.yml │ │ ├── yolov8_s_100e_oiv7.yml │ │ └── yolov8_x_100e_oiv7.yml │ ├── yolov8_l_500e_coco.yml │ ├── yolov8_m_500e_coco.yml │ ├── yolov8_n_500e_coco.yml │ ├── yolov8_s_500e_coco.yml │ ├── yolov8_x_500e_coco.yml │ └── yolov8p6_x_500e_coco.yml ├── yolov8_seg │ ├── README.md │ ├── _base_ │ │ ├── optimizer_100e.yml │ │ ├── optimizer_500e.yml │ │ ├── optimizer_500e_high.yml │ │ ├── yolov8_seg_cspdarknet.yml │ │ ├── yolov8_seg_reader.yml │ │ └── yolov8_seg_reader_high_aug.yml │ ├── yolov8_seg_l_500e_coco.yml │ ├── yolov8_seg_m_500e_coco.yml │ ├── yolov8_seg_n_500e_coco.yml │ ├── yolov8_seg_s_500e_coco.yml │ └── yolov8_seg_x_500e_coco.yml └── yolox │ ├── README.md │ ├── _base_ │ ├── optimizer_300e.yml │ ├── yolox_cspdarknet.yml │ └── yolox_reader.yml │ ├── yolox_cdn_tiny_300e_coco.yml │ ├── yolox_crn_s_300e_coco.yml │ ├── yolox_l_300e_coco.yml │ ├── yolox_m_300e_coco.yml │ ├── yolox_nano_300e_coco.yml │ ├── yolox_s_300e_coco.yml │ ├── yolox_tiny_300e_coco.yml │ └── yolox_x_300e_coco.yml ├── dataset ├── OpenImagesV7 │ └── label_list.txt ├── coco │ └── download_coco.py ├── roadsign_voc │ ├── download_roadsign_voc.py │ └── label_list.txt └── voc │ ├── create_list.py │ ├── download_voc.py │ └── label_list.txt ├── demo ├── 000000014439.jpg ├── 000000014439_640x640.jpg ├── 000000087038.jpg ├── 000000570688.jpg ├── road554.png └── visdrone_0000315_01601_d_0000509.jpg ├── deploy ├── BENCHMARK_INFER.md ├── BENCHMARK_INFER_en.md ├── EXPORT_MODEL.md ├── EXPORT_MODEL_en.md ├── EXPORT_ONNX_MODEL.md ├── EXPORT_ONNX_MODEL_en.md ├── README.md ├── README_en.md ├── TENSOR_RT.md ├── auto_compression │ ├── README.md │ ├── configs │ │ ├── picodet_reader.yml │ │ ├── picodet_s_qat_dis.yaml │ │ ├── ppyoloe_crn_l_80e_sliced_visdrone_640_025_qat.yml │ │ ├── ppyoloe_crn_l_80e_sliced_visdrone_640_025_reader.yml │ │ ├── ppyoloe_l_qat_dis.yaml │ │ ├── ppyoloe_plus_crn_t_auxhead_300e_coco_qat.yml │ │ ├── ppyoloe_plus_l_qat_dis.yaml │ │ ├── ppyoloe_plus_m_qat_dis.yaml │ │ ├── ppyoloe_plus_reader.yml │ │ ├── ppyoloe_plus_s_qat_dis.yaml │ │ ├── ppyoloe_plus_sod_crn_l_qat_dis.yaml │ │ ├── ppyoloe_plus_x_qat_dis.yaml │ │ ├── ppyoloe_reader.yml │ │ ├── rtdetr_hgnetv2_l_qat_dis.yaml │ │ ├── rtdetr_hgnetv2_x_qat_dis.yaml │ │ ├── rtdetr_r101vd_qat_dis.yaml │ │ ├── rtdetr_r50vd_qat_dis.yaml │ │ ├── rtdetr_reader.yml │ │ ├── yolov5_reader.yml │ │ ├── yolov5_s_qat_dis.yml │ │ ├── yolov6mt_s_qat_dis.yaml │ │ ├── yolov7_l_qat_dis.yaml │ │ ├── yolov8_reader.yml │ │ └── yolov8_s_qat_dis.yaml │ ├── eval.py │ ├── paddle_inference_eval.py │ ├── post_process.py │ └── run.py ├── benchmark │ ├── benchmark.sh │ ├── benchmark_quant.sh │ └── log_parser_excel.py ├── cpp │ ├── CMakeLists.txt │ ├── README.md │ ├── cmake │ │ └── yaml-cpp.cmake │ ├── docs │ │ ├── Jetson_build.md │ │ ├── linux_build.md │ │ └── windows_vs2019_build.md │ ├── include │ │ ├── config_parser.h │ │ ├── jde_detector.h │ │ ├── keypoint_detector.h │ │ ├── keypoint_postprocess.h │ │ ├── lapjv.h │ │ ├── object_detector.h │ │ ├── picodet_postprocess.h │ │ ├── preprocess_op.h │ │ ├── tracker.h │ │ ├── trajectory.h │ │ └── utils.h │ ├── scripts │ │ └── build.sh │ └── src │ │ ├── jde_detector.cc │ │ ├── keypoint_detector.cc │ │ ├── keypoint_postprocess.cc │ │ ├── lapjv.cpp │ │ ├── main.cc │ │ ├── main_jde.cc │ │ ├── main_keypoint.cc │ │ ├── object_detector.cc │ │ ├── picodet_postprocess.cc │ │ ├── preprocess_op.cc │ │ ├── tracker.cc │ │ ├── trajectory.cc │ │ └── utils.cc ├── end2end_ppyoloe │ ├── README.md │ ├── cuda-python.py │ ├── cupy-python.py │ └── end2end.py ├── lite │ ├── Makefile │ ├── README.md │ ├── convert_yml_to_json.py │ ├── det_runtime_config.json │ ├── include │ │ ├── config_parser.h │ │ ├── keypoint_detector.h │ │ ├── keypoint_postprocess.h │ │ ├── object_detector.h │ │ ├── picodet_postprocess.h │ │ ├── preprocess_op.h │ │ └── utils.h │ ├── keypoint_runtime_config.json │ └── src │ │ ├── config_parser.cc │ │ ├── keypoint_detector.cc │ │ ├── keypoint_postprocess.cc │ │ ├── main.cc │ │ ├── object_detector.cc │ │ ├── picodet_postprocess.cc │ │ ├── preprocess_op.cc │ │ └── utils.cc ├── python │ ├── README.md │ ├── benchmark_utils.py │ ├── infer.py │ ├── preprocess.py │ ├── utils.py │ └── visualize.py ├── serving │ ├── README.md │ ├── cpp │ │ ├── README.md │ │ ├── build_server.sh │ │ ├── preprocess │ │ │ ├── mask_rcnn_r50_fpn_1x_coco.cpp │ │ │ ├── mask_rcnn_r50_fpn_1x_coco.h │ │ │ ├── picodet_lcnet_1_5x_416_coco.cpp │ │ │ ├── picodet_lcnet_1_5x_416_coco.h │ │ │ ├── ppyolo_mbv3_large_coco.cpp │ │ │ ├── ppyolo_mbv3_large_coco.h │ │ │ ├── ppyoloe_crn_s_300e_coco.cpp │ │ │ ├── ppyoloe_crn_s_300e_coco.h │ │ │ ├── tinypose_128x96.cpp │ │ │ ├── tinypose_128x96.h │ │ │ ├── yolov3_darknet53_270e_coco.cpp │ │ │ └── yolov3_darknet53_270e_coco.h │ │ ├── serving_client.py │ │ └── serving_client_conf.prototxt │ ├── label_list.txt │ ├── python │ │ ├── README.md │ │ ├── config.yml │ │ ├── pipeline_http_client.py │ │ ├── postprocess_ops.py │ │ ├── preprocess_ops.py │ │ └── web_service.py │ └── test_client.py └── third_engine │ ├── demo_avh │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── README.md.bak │ ├── arm-none-eabi-gcc.cmake │ ├── configure_avh.sh │ ├── convert_image.py │ ├── corstone300.ld │ ├── image │ │ └── 000000014439_640x640.jpg │ ├── include │ │ ├── crt_config.h │ │ └── tvm_runtime.h │ ├── requirements.txt │ ├── run_demo.sh │ └── src │ │ └── demo_bare_metal.c │ ├── demo_mnn │ ├── CMakeLists.txt │ ├── README.md │ ├── main.cpp │ ├── picodet_mnn.cpp │ └── picodet_mnn.hpp │ ├── demo_mnn_kpts │ ├── CMakeLists.txt │ ├── CMakeLists_armv8.txt │ ├── README.md │ ├── keypoint_detector.cpp │ ├── keypoint_detector.h │ ├── keypoint_postprocess.cpp │ ├── keypoint_postprocess.h │ ├── main.cpp │ ├── picodet_mnn.cpp │ └── picodet_mnn.h │ ├── demo_ncnn │ ├── CMakeLists.txt │ ├── README.md │ ├── main.cpp │ ├── picodet.cpp │ └── picodet.h │ ├── demo_onnx_trt │ ├── README.md │ ├── onnx_custom.py │ ├── preprocess.py │ └── trt_infer.py │ ├── demo_onnxruntime │ ├── README.md │ ├── coco_label.txt │ ├── imgs │ │ ├── bus.jpg │ │ └── dog.jpg │ └── infer_demo.py │ ├── demo_openvino │ ├── CMakeLists.txt │ ├── README.md │ ├── main.cpp │ ├── picodet_openvino.cpp │ ├── picodet_openvino.h │ └── python │ │ ├── README.md │ │ ├── coco_label.txt │ │ ├── openvino_benchmark.py │ │ └── openvino_infer.py │ ├── demo_openvino_kpts │ ├── CMakeLists.txt │ ├── README.md │ ├── keypoint_detector.cpp │ ├── keypoint_detector.h │ ├── keypoint_postprocess.cpp │ ├── keypoint_postprocess.h │ ├── main.cpp │ ├── picodet_openvino.cpp │ └── picodet_openvino.h │ └── onnx │ ├── infer.py │ └── preprocess.py ├── docs ├── CHANGELOG.md ├── CHANGELOG_en.md ├── MODEL_ZOO_cn.md ├── MODEL_ZOO_en.md ├── advanced_tutorials │ ├── MODEL_TECHNICAL.md │ ├── MODEL_TECHNICAL_en.md │ ├── READER.md │ ├── READER_en.md │ └── customization │ │ ├── detection.md │ │ └── detection_en.md ├── feature_models │ ├── SSLD_PRETRAINED_MODEL.md │ └── SSLD_PRETRAINED_MODEL_en.md ├── hardware │ ├── install_other_devices.md │ └── supported_models.md ├── images │ ├── 000000014439.jpg │ ├── 12_Group_Group_12_Group_Group_12_935.jpg │ ├── PedestrianDetection_001.png │ ├── PedestrianDetection_004.png │ ├── bus.jpg │ ├── dog.jpg │ ├── fps_map.png │ ├── input_shape.png │ ├── instance_seg.png │ ├── layout.jpg │ ├── lite_demo.jpg │ ├── mobile_fps_map.png │ ├── model_figure.png │ ├── picedet_demo.jpeg │ ├── ppdet.gif │ ├── ppyolo_map_fps.png │ ├── ppyoloe_plus_map_fps.png │ ├── reader_figure.png │ ├── res.jpg │ ├── road554.png │ ├── roadsign_yml.png │ ├── ssld_model.png │ └── yaml_show.png └── tutorials │ ├── DistributedTraining_cn.md │ ├── DistributedTraining_en.md │ ├── FAQ │ ├── FAQ第一期.md │ ├── FAQ第零期.md │ └── README.md │ ├── GETTING_STARTED.md │ ├── GETTING_STARTED_cn.md │ ├── INSTALL.md │ ├── INSTALL_cn.md │ ├── QUICK_STARTED.md │ ├── QUICK_STARTED_cn.md │ ├── config_annotation │ ├── multi_scale_test_config.md │ ├── multi_scale_test_config_cn.md │ ├── ppyolo_r50vd_dcn_1x_coco_annotation.md │ └── ppyolo_r50vd_dcn_1x_coco_annotation_en.md │ ├── data │ ├── DetAnnoTools.md │ ├── DetAnnoTools_en.md │ ├── PrepareDetDataSet.md │ ├── PrepareDetDataSet_en.md │ └── README.md │ └── logging_en.md ├── ppdet ├── __init__.py ├── core │ ├── __init__.py │ ├── config │ │ ├── __init__.py │ │ ├── schema.py │ │ └── yaml_helpers.py │ └── workspace.py ├── data │ ├── __init__.py │ ├── reader.py │ ├── shm_utils.py │ ├── source │ │ ├── __init__.py │ │ ├── category.py │ │ ├── coco.py │ │ ├── dataset.py │ │ └── voc.py │ ├── transform │ │ ├── __init__.py │ │ ├── autoaugment_utils.py │ │ ├── batch_operators.py │ │ ├── gridmask_utils.py │ │ ├── op_helper.py │ │ └── operators.py │ └── utils.py ├── engine │ ├── __init__.py │ ├── callbacks.py │ ├── env.py │ ├── export_utils.py │ ├── naive_syncbn.py │ ├── trainer.py │ └── trainer_ssod.py ├── metrics │ ├── __init__.py │ ├── coco_utils.py │ ├── json_results.py │ ├── map_utils.py │ └── metrics.py ├── model_zoo │ ├── .gitignore │ ├── __init__.py │ ├── model_zoo.py │ └── tests │ │ ├── __init__.py │ │ ├── test_get_model.py │ │ └── test_list_model.py ├── modeling │ ├── __init__.py │ ├── architectures │ │ ├── __init__.py │ │ ├── detr.py │ │ ├── meta_arch.py │ │ ├── ppyoloe.py │ │ ├── rtmdet.py │ │ ├── yolo.py │ │ ├── yolof.py │ │ ├── yolov10.py │ │ ├── yolov5.py │ │ ├── yolov6.py │ │ ├── yolov7.py │ │ ├── yolov8.py │ │ └── yolox.py │ ├── assigners │ │ ├── __init__.py │ │ ├── atss_assigner.py │ │ ├── simota_assigner.py │ │ ├── task_aligned_assigner.py │ │ ├── task_aligned_assigner_cr.py │ │ ├── uniform_assigner.py │ │ └── utils.py │ ├── backbones │ │ ├── __init__.py │ │ ├── convnext.py │ │ ├── csp_darknet.py │ │ ├── cspnext.py │ │ ├── cspresnet.py │ │ ├── darknet.py │ │ ├── focalnet.py │ │ ├── hgnet_v2.py │ │ ├── mobilenet_v1.py │ │ ├── mobilenet_v3.py │ │ ├── name_adapter.py │ │ ├── resnet.py │ │ ├── swin_transformer.py │ │ ├── transformer_utils.py │ │ ├── vision_transformer.py │ │ ├── vit_mae.py │ │ ├── yolov10_csp_darknet.py │ │ ├── yolov6_efficientrep.py │ │ ├── yolov7_elannet.py │ │ └── yolov8_csp_darknet.py │ ├── bbox_utils.py │ ├── heads │ │ ├── __init__.py │ │ ├── detr_head.py │ │ ├── ppyoloe_head.py │ │ ├── ppyoloe_ins_head.py │ │ ├── rtmdet_head.py │ │ ├── yolo_head.py │ │ ├── yolof_head.py │ │ ├── yolov10_head.py │ │ ├── yolov5_head.py │ │ ├── yolov6_head.py │ │ ├── yolov7_head.py │ │ └── yolov8_head.py │ ├── initializer.py │ ├── layers.py │ ├── losses │ │ ├── __init__.py │ │ ├── detr_loss.py │ │ ├── focal_loss.py │ │ ├── gfocal_loss.py │ │ ├── iou_aware_loss.py │ │ ├── iou_loss.py │ │ ├── smooth_l1_loss.py │ │ ├── varifocal_loss.py │ │ ├── yolo_loss.py │ │ ├── yolov5_loss.py │ │ └── yolov7_loss.py │ ├── necks │ │ ├── __init__.py │ │ ├── custom_pan.py │ │ ├── dilated_encoder.py │ │ ├── fpn.py │ │ ├── rtmdet_pafpn.py │ │ ├── yolo_fpn.py │ │ ├── yolov10_pafpn.py │ │ ├── yolov6_pafpn.py │ │ ├── yolov7_pafpn.py │ │ └── yolov8_pafpn.py │ ├── ops.py │ ├── post_process.py │ ├── proposal_generator │ │ ├── __init__.py │ │ └── anchor_generator.py │ ├── shape_spec.py │ ├── ssod │ │ ├── __init__.py │ │ ├── losses.py │ │ └── utils.py │ ├── tests │ │ ├── __init__.py │ │ ├── imgs │ │ │ ├── coco2017_val2017_000000000139.jpg │ │ │ └── coco2017_val2017_000000000724.jpg │ │ ├── test_architectures.py │ │ ├── test_base.py │ │ ├── test_ops.py │ │ └── test_yolov3_loss.py │ └── transformers │ │ ├── __init__.py │ │ ├── deformable_transformer.py │ │ ├── detr_transformer.py │ │ ├── dino_transformer.py │ │ ├── ext_op │ │ ├── README.md │ │ ├── ms_deformable_attn_op.cc │ │ ├── ms_deformable_attn_op.cu │ │ ├── setup_ms_deformable_attn_op.py │ │ └── test_ms_deformable_attn_op.py │ │ ├── group_detr_transformer.py │ │ ├── hybrid_encoder.py │ │ ├── mask_dino_transformer.py │ │ ├── matchers.py │ │ ├── petr_transformer.py │ │ ├── position_encoding.py │ │ ├── rtdetr_transformer.py │ │ └── utils.py ├── optimizer │ ├── __init__.py │ ├── adamw.py │ ├── ema.py │ ├── optimizer.py │ └── utils.py ├── slim │ ├── __init__.py │ ├── distill_loss.py │ ├── distill_model.py │ ├── ofa.py │ ├── prune.py │ ├── quant.py │ └── unstructured_prune.py └── utils │ ├── __init__.py │ ├── check.py │ ├── checkpoint.py │ ├── cli.py │ ├── colormap.py │ ├── download.py │ ├── fuse_utils.py │ ├── logger.py │ ├── profiler.py │ ├── stats.py │ ├── visualizer.py │ └── voc_utils.py ├── requirements.txt ├── scripts ├── analysis.py └── build_wheel.sh ├── setup.py ├── test_tipc ├── README.md ├── benchmark_train.sh ├── benchmark_train.txt ├── compare_results.py ├── configs │ ├── yolov5 │ │ ├── yolov5_l_300e_coco_train_infer_python.txt │ │ └── yolov5_s_300e_coco_train_infer_python.txt │ └── yolov7 │ │ ├── yolov7_l_300e_coco_train_infer_python.txt │ │ └── yolov7_tiny_300e_coco_train_infer_python.txt ├── docs │ ├── benchmark_train.md │ ├── guide.png │ ├── install.md │ ├── more_models.md │ ├── test.png │ ├── test_inference_cpp.md │ ├── test_paddle2onnx.md │ ├── test_ptq_inference_python.md │ ├── test_serving.md │ ├── test_train_fleet_inference_python.md │ └── test_train_inference_python.md ├── prepare.sh ├── requirements.txt ├── test_inference_cpp.sh ├── test_lite.sh ├── test_paddle2onnx.sh ├── test_ptq_inference_python.sh ├── test_serving_infer_cpp.sh ├── test_serving_infer_python.sh ├── test_train_inference_python.sh ├── test_train_inference_python_npu.sh ├── test_train_inference_python_xpu.sh └── utils_func.sh └── tools ├── anchor_cluster.py ├── box_distribution.py ├── eval.py ├── export_model.py ├── infer.py ├── post_quant.py ├── slice_image.py ├── train.py └── x2coco.py /.github/ISSUE_TEMPLATE/5_others.yml: -------------------------------------------------------------------------------- 1 | name: 🧩 其他 Others 2 | description: 提出其他问题。 Report any other non-support related issues. 3 | labels: [type/others, status/new-issue] 4 | 5 | body: 6 | - type: markdown 7 | attributes: 8 | value: > 9 | #### 你可以在这里提出任何前面几类模板不适用的问题,包括但不限于:优化性建议、框架使用体验反馈、版本兼容性问题、报错信息不清楚等。 10 | 11 | #### You can report any issues that are not applicable to the previous types of templates, including but not limited to: enhancement suggestions, feedback on the use of the framework, version compatibility issues, unclear error information, etc. 12 | 13 | - type: textarea 14 | id: others 15 | attributes: 16 | label: 问题描述 Please describe your issue 17 | validations: 18 | required: true 19 | 20 | - type: markdown 21 | attributes: 22 | value: > 23 | 感谢你的贡献 🎉! Thanks for your contribution 🎉! 24 | -------------------------------------------------------------------------------- /.style.yapf: -------------------------------------------------------------------------------- 1 | [style] 2 | based_on_style = pep8 3 | column_limit = 80 4 | -------------------------------------------------------------------------------- /.travis/codestyle/clang_format.hook: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | clang-format $@ 5 | -------------------------------------------------------------------------------- /.travis/precommit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | function abort(){ 3 | echo "Your commit not fit PaddlePaddle code style" 1>&2 4 | echo "Please use pre-commit scripts to auto-format your code" 1>&2 5 | exit 1 6 | } 7 | 8 | trap 'abort' 0 9 | set -e 10 | cd `dirname $0` 11 | cd .. 12 | export PATH=/usr/bin:$PATH 13 | pre-commit install 14 | 15 | if ! pre-commit run -a ; then 16 | ls -lh 17 | git diff --exit-code 18 | exit 1 19 | fi 20 | 21 | trap : 0 22 | -------------------------------------------------------------------------------- /.travis/requirements.txt: -------------------------------------------------------------------------------- 1 | # add python requirements for unittests here, note install pycocotools 2 | # directly is not supported in travis ci, it is installed by compiling 3 | # from source files in unittest.sh 4 | tqdm 5 | cython 6 | shapely 7 | llvmlite==0.33 8 | numba==0.50 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | README_cn.md -------------------------------------------------------------------------------- /configs/datasets/coco_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 80 3 | 4 | TrainDataset: 5 | name: COCODataSet 6 | image_dir: train2017 7 | anno_path: annotations/instances_train2017.json 8 | dataset_dir: dataset/coco 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 10 | 11 | EvalDataset: 12 | name: COCODataSet 13 | image_dir: val2017 14 | anno_path: annotations/instances_val2017.json 15 | dataset_dir: dataset/coco 16 | 17 | TestDataset: 18 | name: ImageFolder 19 | anno_path: annotations/instances_val2017.json # also support txt (like VOC's label_list.txt) 20 | dataset_dir: dataset/coco # if set, anno_path will be 'dataset_dir/anno_path' 21 | -------------------------------------------------------------------------------- /configs/datasets/coco_instance.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 80 3 | 4 | TrainDataset: 5 | name: COCODataSet 6 | image_dir: train2017 7 | anno_path: annotations/instances_train2017.json 8 | dataset_dir: dataset/coco 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'gt_poly', 'is_crowd'] 10 | 11 | EvalDataset: 12 | name: COCODataSet 13 | image_dir: val2017 14 | anno_path: annotations/instances_val2017.json 15 | dataset_dir: dataset/coco 16 | 17 | TestDataset: 18 | name: ImageFolder 19 | anno_path: annotations/instances_val2017.json # also support txt (like VOC's label_list.txt) 20 | dataset_dir: dataset/coco # if set, anno_path will be 'dataset_dir/anno_path' 21 | -------------------------------------------------------------------------------- /configs/datasets/objects365_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 365 3 | 4 | TrainDataset: 5 | !COCODataSet 6 | image_dir: train 7 | anno_path: annotations/zhiyuan_objv2_train.json 8 | dataset_dir: dataset/objects365 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: val 14 | anno_path: annotations/zhiyuan_objv2_val.json 15 | dataset_dir: dataset/objects365 16 | allow_empty: true 17 | 18 | TestDataset: 19 | !ImageFolder 20 | anno_path: annotations/zhiyuan_objv2_val.json 21 | dataset_dir: dataset/objects365/ 22 | -------------------------------------------------------------------------------- /configs/datasets/openimagesv7_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 601 3 | 4 | # Due to the large dataset, training and evaluation are not supported currently 5 | TrainDataset: 6 | !COCODataSet 7 | image_dir: train 8 | anno_path: annotations/train.json 9 | dataset_dir: dataset/OpenImagesV7 10 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 11 | 12 | # Due to the large dataset, training and evaluation are not supported currently 13 | EvalDataset: 14 | !COCODataSet 15 | image_dir: val 16 | anno_path: annotations/val.json 17 | dataset_dir: dataset/OpenImagesV7 18 | allow_empty: true 19 | 20 | TestDataset: 21 | !ImageFolder 22 | anno_path: label_list.txt 23 | dataset_dir: dataset/OpenImagesV7 24 | -------------------------------------------------------------------------------- /configs/datasets/roadsign_voc.yml: -------------------------------------------------------------------------------- 1 | metric: VOC 2 | map_type: integral 3 | num_classes: 4 4 | 5 | TrainDataset: 6 | name: VOCDataSet 7 | dataset_dir: dataset/roadsign_voc 8 | anno_path: train.txt 9 | label_list: label_list.txt 10 | data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult'] 11 | 12 | EvalDataset: 13 | name: VOCDataSet 14 | dataset_dir: dataset/roadsign_voc 15 | anno_path: valid.txt 16 | label_list: label_list.txt 17 | data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult'] 18 | 19 | TestDataset: 20 | name: ImageFolder 21 | anno_path: dataset/roadsign_voc/label_list.txt 22 | -------------------------------------------------------------------------------- /configs/datasets/visdrone_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 10 3 | 4 | TrainDataset: 5 | !COCODataSet 6 | image_dir: VisDrone2019-DET-train 7 | anno_path: train.json 8 | dataset_dir: dataset/visdrone 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: VisDrone2019-DET-val 14 | anno_path: val.json 15 | # image_dir: test_dev 16 | # anno_path: test_dev.json 17 | dataset_dir: dataset/visdrone 18 | 19 | TestDataset: 20 | !ImageFolder 21 | anno_path: val.json 22 | dataset_dir: dataset/visdrone 23 | -------------------------------------------------------------------------------- /configs/datasets/voc.yml: -------------------------------------------------------------------------------- 1 | metric: VOC 2 | map_type: 11point 3 | num_classes: 20 4 | 5 | TrainDataset: 6 | name: VOCDataSet 7 | dataset_dir: dataset/voc 8 | anno_path: trainval.txt 9 | label_list: label_list.txt 10 | data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult'] 11 | 12 | EvalDataset: 13 | name: VOCDataSet 14 | dataset_dir: dataset/voc 15 | anno_path: test.txt 16 | label_list: label_list.txt 17 | data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult'] 18 | 19 | TestDataset: 20 | name: ImageFolder 21 | anno_path: dataset/voc/label_list.txt 22 | -------------------------------------------------------------------------------- /configs/focalnet/README.md: -------------------------------------------------------------------------------- 1 | # FocalNet (Focal Modulation Networks) 2 | 3 | ## 模型库 4 | ### FocalNet on COCO 5 | 6 | | 网络网络 | 输入尺寸| 图片数/GPU | 学习率策略 | 推理时间(fps) | mAPval
0.5:0.95 | 下载链接 | 配置文件 | 7 | | :--------- | :---- | :-------: | :------: | :---------------------: | :----------------: | :-------: |:------: | 8 | | PP-YOLOE+ FocalNet-tiny | 640 | 8 | 36e | - | 46.6 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_plus_focalnet_tiny_36e_coco.pdparams) | [配置文件](./ppyoloe_plus_focalnet_tiny_36e_coco.yml) | 9 | 10 | 11 | ## Citations 12 | ``` 13 | @misc{yang2022focal, 14 | title={Focal Modulation Networks}, 15 | author={Jianwei Yang and Chunyuan Li and Xiyang Dai and Jianfeng Gao}, 16 | journal={Advances in Neural Information Processing Systems (NeurIPS)}, 17 | year={2022} 18 | } 19 | ``` 20 | -------------------------------------------------------------------------------- /configs/pphuman/pedestrian_yolov3/demo/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/configs/pphuman/pedestrian_yolov3/demo/001.png -------------------------------------------------------------------------------- /configs/pphuman/pedestrian_yolov3/demo/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/configs/pphuman/pedestrian_yolov3/demo/002.png -------------------------------------------------------------------------------- /configs/pphuman/pedestrian_yolov3/demo/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/configs/pphuman/pedestrian_yolov3/demo/003.png -------------------------------------------------------------------------------- /configs/pphuman/pedestrian_yolov3/demo/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/configs/pphuman/pedestrian_yolov3/demo/004.png -------------------------------------------------------------------------------- /configs/pphuman/pedestrian_yolov3/pedestrian_yolov3_darknet.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/coco_detection.yml', 3 | '../../runtime.yml', 4 | '../../yolov3/_base_/optimizer_270e.yml', 5 | '../../yolov3/_base_/yolov3_darknet53.yml', 6 | '../../yolov3/_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | weights: https://paddledet.bj.bcebos.com/models/pedestrian_yolov3_darknet.pdparams 11 | 12 | num_classes: 1 13 | 14 | TrainDataset: 15 | !COCODataSet 16 | dataset_dir: dataset/pedestrian 17 | anno_path: annotations/instances_train2017.json 18 | image_dir: train2017 19 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 20 | 21 | EvalDataset: 22 | !COCODataSet 23 | dataset_dir: dataset/pedestrian 24 | anno_path: annotations/instances_val2017.json 25 | image_dir: val2017 26 | 27 | TestDataset: 28 | !ImageFolder 29 | anno_path: configs/pphuman/pedestrian_yolov3/pedestrian.json 30 | -------------------------------------------------------------------------------- /configs/ppvehicle/vehicle_yolov3/demo/001.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/configs/ppvehicle/vehicle_yolov3/demo/001.jpeg -------------------------------------------------------------------------------- /configs/ppvehicle/vehicle_yolov3/demo/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/configs/ppvehicle/vehicle_yolov3/demo/003.png -------------------------------------------------------------------------------- /configs/ppvehicle/vehicle_yolov3/demo/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/configs/ppvehicle/vehicle_yolov3/demo/004.png -------------------------------------------------------------------------------- /configs/ppvehicle/vehicle_yolov3/demo/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/configs/ppvehicle/vehicle_yolov3/demo/005.png -------------------------------------------------------------------------------- /configs/ppyolo/_base_/optimizer_1x.yml: -------------------------------------------------------------------------------- 1 | epoch: 405 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !PiecewiseDecay 7 | gamma: 0.1 8 | milestones: 9 | - 243 10 | - 324 11 | - !LinearWarmup 12 | start_factor: 0. 13 | steps: 4000 14 | 15 | OptimizerBuilder: 16 | clip_grad_by_norm: 35. 17 | optimizer: 18 | momentum: 0.9 19 | type: Momentum 20 | regularizer: 21 | factor: 0.0005 22 | type: L2 23 | -------------------------------------------------------------------------------- /configs/ppyolo/_base_/optimizer_2x.yml: -------------------------------------------------------------------------------- 1 | epoch: 811 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !PiecewiseDecay 7 | gamma: 0.1 8 | milestones: 9 | - 649 10 | - 730 11 | - !LinearWarmup 12 | start_factor: 0. 13 | steps: 4000 14 | 15 | OptimizerBuilder: 16 | clip_grad_by_norm: 35. 17 | optimizer: 18 | momentum: 0.9 19 | type: Momentum 20 | regularizer: 21 | factor: 0.0005 22 | type: L2 23 | -------------------------------------------------------------------------------- /configs/ppyolo/_base_/optimizer_365e.yml: -------------------------------------------------------------------------------- 1 | epoch: 365 2 | 3 | LearningRate: 4 | base_lr: 0.005 5 | schedulers: 6 | - !PiecewiseDecay 7 | gamma: 0.1 8 | milestones: 9 | - 243 10 | - !LinearWarmup 11 | start_factor: 0. 12 | steps: 4000 13 | 14 | OptimizerBuilder: 15 | clip_grad_by_norm: 35. 16 | optimizer: 17 | momentum: 0.9 18 | type: Momentum 19 | regularizer: 20 | factor: 0.0005 21 | type: L2 22 | -------------------------------------------------------------------------------- /configs/ppyolo/_base_/optimizer_650e.yml: -------------------------------------------------------------------------------- 1 | epoch: 650 2 | 3 | LearningRate: 4 | base_lr: 0.005 5 | schedulers: 6 | - !PiecewiseDecay 7 | gamma: 0.1 8 | milestones: 9 | - 430 10 | - 540 11 | - 610 12 | - !LinearWarmup 13 | start_factor: 0. 14 | steps: 4000 15 | 16 | OptimizerBuilder: 17 | optimizer: 18 | momentum: 0.9 19 | type: Momentum 20 | regularizer: 21 | factor: 0.0005 22 | type: L2 23 | -------------------------------------------------------------------------------- /configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/ppyolo_r50vd_dcn.yml', 5 | './_base_/optimizer_1x.yml', 6 | './_base_/ppyolo_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 16 10 | weights: output/ppyolo_r50vd_dcn_1x_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/ppyolo_r50vd_dcn.yml', 5 | './_base_/optimizer_2x.yml', 6 | './_base_/ppyolo_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 16 10 | weights: output/ppyolo_r50vd_dcn_2x_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/ppyolo/ppyolo_test.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/ppyolo_r50vd_dcn.yml', 5 | './_base_/optimizer_1x.yml', 6 | './_base_/ppyolo_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 16 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: test2017 14 | anno_path: annotations/image_info_test-dev2017.json 15 | dataset_dir: dataset/coco 16 | -------------------------------------------------------------------------------- /configs/ppyolo/ppyolo_tiny_650e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/ppyolo_tiny.yml', 5 | './_base_/optimizer_650e.yml', 6 | './_base_/ppyolo_tiny_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 1 10 | weights: output/ppyolo_tiny_650e_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/ppyolov2_r50vd_dcn.yml', 5 | './_base_/optimizer_365e.yml', 6 | './_base_/ppyolov2_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 8 10 | weights: output/ppyolov2_r101vd_dcn_365e_coco/model_final 11 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet101_vd_ssld_pretrained.pdparams 12 | 13 | ResNet: 14 | depth: 101 15 | variant: d 16 | return_idx: [1, 2, 3] 17 | dcn_v2_stages: [3] 18 | freeze_at: -1 19 | freeze_norm: false 20 | norm_decay: 0. 21 | -------------------------------------------------------------------------------- /configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/ppyolov2_r50vd_dcn.yml', 5 | './_base_/optimizer_365e.yml', 6 | './_base_/ppyolov2_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 8 10 | weights: output/ppyolov2_r50vd_dcn_365e_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/ppyoloe/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - name: CosineDecay 7 | max_epochs: 360 8 | - name: LinearWarmup 9 | start_factor: 0. 10 | epochs: 5 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | momentum: 0.9 15 | type: Momentum 16 | regularizer: 17 | factor: 0.0005 18 | type: L2 19 | -------------------------------------------------------------------------------- /configs/ppyoloe/_base_/optimizer_36e_xpu.yml: -------------------------------------------------------------------------------- 1 | epoch: 36 2 | 3 | LearningRate: 4 | base_lr: 0.00125 5 | schedulers: 6 | - name: CosineDecay 7 | max_epochs: 43 8 | - name: LinearWarmup 9 | start_factor: 0.001 10 | steps: 2000 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | momentum: 0.9 15 | type: Momentum 16 | regularizer: 17 | factor: 0.0005 18 | type: L2 19 | -------------------------------------------------------------------------------- /configs/ppyoloe/_base_/optimizer_400e.yml: -------------------------------------------------------------------------------- 1 | epoch: 400 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - name: CosineDecay 7 | max_epochs: 480 8 | - name: LinearWarmup 9 | start_factor: 0. 10 | epochs: 5 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | momentum: 0.9 15 | type: Momentum 16 | regularizer: 17 | factor: 0.0005 18 | type: L2 19 | -------------------------------------------------------------------------------- /configs/ppyoloe/_base_/optimizer_60e.yml: -------------------------------------------------------------------------------- 1 | epoch: 60 2 | 3 | LearningRate: 4 | base_lr: 0.001 5 | schedulers: 6 | - name: CosineDecay 7 | max_epochs: 72 8 | - name: LinearWarmup 9 | start_factor: 0. 10 | epochs: 1 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | momentum: 0.9 15 | type: Momentum 16 | regularizer: 17 | factor: 0.0005 18 | type: L2 19 | -------------------------------------------------------------------------------- /configs/ppyoloe/_base_/optimizer_80e.yml: -------------------------------------------------------------------------------- 1 | epoch: 80 2 | 3 | LearningRate: 4 | base_lr: 0.001 5 | schedulers: 6 | - name: CosineDecay 7 | max_epochs: 96 8 | - name: LinearWarmup 9 | start_factor: 0. 10 | epochs: 5 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | momentum: 0.9 15 | type: Momentum 16 | regularizer: 17 | factor: 0.0005 18 | type: L2 19 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/_base_/exdark_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 12 3 | 4 | TrainDataset: 5 | !COCODataSet 6 | image_dir: images 7 | anno_path: coco_annotations/train.json 8 | dataset_dir: dataset/Exdark/ 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: images 14 | anno_path: coco_annotations/val.json 15 | dataset_dir: dataset/Exdark/ 16 | 17 | TestDataset: 18 | !ImageFolder 19 | anno_path: coco_annotations/val.json # also support txt (like VOC's label_list.txt) 20 | dataset_dir: dataset/Exdark/ # if set, anno_path will be 'dataset_dir/anno_path' 21 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/_base_/pcb_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 6 3 | 4 | TrainDataset: 5 | !COCODataSet 6 | image_dir: images 7 | anno_path: pcb_cocoanno/train.json 8 | dataset_dir: dataset/PCB_coco/ 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: images 14 | anno_path: pcb_cocoanno/val.json 15 | dataset_dir: dataset/PCB_coco/ 16 | 17 | TestDataset: 18 | !ImageFolder 19 | anno_path: pcb_cocoanno/val.json # also support txt (like VOC's label_list.txt) 20 | dataset_dir: dataset/PCB_coco/ # if set, anno_path will be 'dataset_dir/anno_path' 21 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/_base_/sku110k.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 1 3 | 4 | TrainDataset: 5 | !COCODataSet 6 | image_dir: images 7 | anno_path: annotations/annotations_train.json 8 | dataset_dir: dataset/SKU110K_fixed 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult'] 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: images 14 | anno_path: annotations/annotations_val.json 15 | dataset_dir: dataset/SKU110K_fixed 16 | allow_empty: true 17 | 18 | TestDataset: 19 | !ImageFolder 20 | anno_path: annotations/annotations_test.json 21 | dataset_dir: dataset/SKU110K_fixed 22 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/_base_/wgisd_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 5 3 | 4 | TrainDataset: 5 | !COCODataSet 6 | image_dir: data 7 | anno_path: coco_annotations/new_train_bbox_instances.json 8 | dataset_dir: dataset/wgisd/ 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: data 14 | anno_path: coco_annotations/new_test_bbox_instances.json 15 | dataset_dir: dataset/wgisd/ 16 | 17 | TestDataset: 18 | !ImageFolder 19 | anno_path: coco_annotations/new_test_bbox_instances.json # also support txt (like VOC's label_list.txt) 20 | dataset_dir: dataset/wgisd/ # if set, anno_path will be 'dataset_dir/anno_path' 21 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/ppyoloe_crn_m_80e_exdark.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | './_base_/exdark_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_80e.yml', 5 | '../_base_/ppyoloe_crn.yml', 6 | '../_base_/ppyoloe_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_crn_m_80e_exdark/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_m_300e_coco.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/ppyoloe_crn_m_80e_pcb.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | './_base_/pcb_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_80e.yml', 5 | '../_base_/ppyoloe_crn.yml', 6 | '../_base_/ppyoloe_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_crn_m_80e_pcb/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_m_300e_coco.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/ppyoloe_crn_m_80e_wgisd.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | './_base_/wgisd_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_80e.yml', 5 | '../_base_/ppyoloe_crn.yml', 6 | '../_base_/ppyoloe_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_crn_m_80e_wgisd/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_m_300e_coco.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/ppyoloe_plus_crn_m_80e_coco_pretrained_exdark.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | './_base_/exdark_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_80e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_m_80e_coco_pretrained_exdark/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/ppyoloe_plus_crn_m_80e_coco.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/ppyoloe_plus_crn_m_80e_coco_pretrained_pcb.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | './_base_/pcb_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_80e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_m_80e_coco_pretrained_pcb/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/ppyoloe_plus_crn_m_80e_coco.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/ppyoloe_plus_crn_m_80e_coco_pretrained_wgisd.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | './_base_/wgisd_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_80e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_m_80e_coco_pretrained_wgisd/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/ppyoloe_plus_crn_m_80e_coco.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/ppyoloe_plus_crn_m_80e_obj365_pretrained_exdark.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | './_base_/exdark_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_80e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_m_80e_obj365_pretrained_exdark/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_m_obj365_pretrained.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/ppyoloe_plus_crn_m_80e_obj365_pretrained_pcb.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | './_base_/pcb_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_80e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_m_80e_obj365_pretrained_pcb/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_m_obj365_pretrained.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/application/ppyoloe_plus_crn_m_80e_obj365_pretrained_wgisd.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | './_base_/wgisd_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_80e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_m_80e_obj365_pretrained_wgisd/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_m_obj365_pretrained.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/objects365/ppyoloe_plus_crn_l_60e_objects365.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/objects365_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_60e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_l_60e_objects365/model_final 12 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_l_pretrained.pdparams 13 | 14 | CSPResNet: 15 | use_alpha: False 16 | 17 | PPYOLOEHead: 18 | static_assigner_epoch: 20 19 | 20 | depth_mult: 1.0 21 | width_mult: 1.0 22 | -------------------------------------------------------------------------------- /configs/ppyoloe/objects365/ppyoloe_plus_crn_m_60e_objects365.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/objects365_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_60e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_m_60e_objects365/model_final 12 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_m_pretrained.pdparams 13 | 14 | CSPResNet: 15 | use_alpha: False 16 | 17 | PPYOLOEHead: 18 | static_assigner_epoch: 20 19 | 20 | depth_mult: 0.67 21 | width_mult: 0.75 22 | -------------------------------------------------------------------------------- /configs/ppyoloe/objects365/ppyoloe_plus_crn_s_60e_objects365.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/objects365_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_60e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_s_60e_objects365/model_final 12 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_s_pretrained.pdparams 13 | 14 | CSPResNet: 15 | use_alpha: False 16 | 17 | PPYOLOEHead: 18 | static_assigner_epoch: 20 19 | 20 | depth_mult: 0.33 21 | width_mult: 0.50 22 | -------------------------------------------------------------------------------- /configs/ppyoloe/objects365/ppyoloe_plus_crn_x_60e_objects365.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/objects365_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_60e.yml', 5 | '../_base_/ppyoloe_plus_crn.yml', 6 | '../_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_x_60e_objects365/model_final 12 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_x_pretrained.pdparams 13 | 14 | CSPResNet: 15 | use_alpha: False 16 | 17 | PPYOLOEHead: 18 | static_assigner_epoch: 20 19 | 20 | depth_mult: 1.33 21 | width_mult: 1.25 22 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_crn_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/ppyoloe_crn.yml', 6 | './_base_/ppyoloe_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/ppyoloe_crn_l_300e_coco/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_l_pretrained.pdparams 14 | depth_mult: 1.0 15 | width_mult: 1.0 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_crn_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/ppyoloe_crn.yml', 6 | './_base_/ppyoloe_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/ppyoloe_crn_m_300e_coco/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_m_pretrained.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_crn_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/ppyoloe_crn.yml', 6 | './_base_/ppyoloe_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/ppyoloe_crn_s_300e_coco/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_s_pretrained.pdparams 14 | depth_mult: 0.33 15 | width_mult: 0.50 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_crn_s_400e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_400e.yml', 5 | './_base_/ppyoloe_crn.yml', 6 | './_base_/ppyoloe_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/ppyoloe_crn_s_400e_coco/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_s_pretrained.pdparams 14 | depth_mult: 0.33 15 | width_mult: 0.50 16 | 17 | PPYOLOEHead: 18 | static_assigner_epoch: 133 19 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_crn_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/ppyoloe_crn.yml', 6 | './_base_/ppyoloe_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/ppyoloe_crn_x_300e_coco/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_x_pretrained.pdparams 14 | depth_mult: 1.33 15 | width_mult: 1.25 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_plus_crn_l_80e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_80e.yml', 5 | './_base_/ppyoloe_plus_crn.yml', 6 | './_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_l_80e_coco/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_l_obj365_pretrained.pdparams 14 | depth_mult: 1.0 15 | width_mult: 1.0 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_plus_crn_m_80e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_80e.yml', 5 | './_base_/ppyoloe_plus_crn.yml', 6 | './_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_m_80e_coco/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_m_obj365_pretrained.pdparams 14 | depth_mult: 0.67 15 | width_mult: 0.75 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_plus_crn_s_80e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_80e.yml', 5 | './_base_/ppyoloe_plus_crn.yml', 6 | './_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_s_80e_coco/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_s_obj365_pretrained.pdparams 14 | depth_mult: 0.33 15 | width_mult: 0.50 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_plus_crn_t_auxhead_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/ppyoloe_plus_crn_tiny_auxhead.yml', 6 | './_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/ppyoloe_plus_crn_t_auxhead_300e_coco/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_t_pretrained.pdparams 14 | depth_mult: 0.33 15 | width_mult: 0.375 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_plus_crn_t_auxhead_320_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/ppyoloe_plus_crn_tiny_auxhead.yml', 6 | './_base_/ppyoloe_plus_reader_320.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/ppyoloe_plus_crn_t_auxhead_320_300e_coco/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_t_pretrained.pdparams 14 | depth_mult: 0.33 15 | width_mult: 0.375 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_plus_crn_t_auxhead_relu_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/ppyoloe_plus_crn_tiny_auxhead.yml', 6 | './_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/ppyoloe_plus_crn_t_auxhead_relu_300e_coco/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_t_pretrained.pdparams 14 | depth_mult: 0.33 15 | width_mult: 0.375 16 | 17 | 18 | CSPResNet: 19 | act: 'relu' 20 | 21 | CustomCSPPAN: 22 | act: 'relu' 23 | 24 | PPYOLOEHead: 25 | act: 'relu' 26 | attn_conv: None 27 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_plus_crn_t_auxhead_relu_320_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/ppyoloe_plus_crn_tiny_auxhead.yml', 6 | './_base_/ppyoloe_plus_reader_320.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/ppyoloe_plus_crn_t_auxhead_relu_320_300e_coco/model_final 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_t_pretrained.pdparams 14 | depth_mult: 0.33 15 | width_mult: 0.375 16 | 17 | 18 | CSPResNet: 19 | act: 'relu' 20 | 21 | CustomCSPPAN: 22 | act: 'relu' 23 | 24 | PPYOLOEHead: 25 | act: 'relu' 26 | attn_conv: None 27 | -------------------------------------------------------------------------------- /configs/ppyoloe/ppyoloe_plus_crn_x_80e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_80e.yml', 5 | './_base_/ppyoloe_plus_crn.yml', 6 | './_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | 9 | log_iter: 100 10 | snapshot_epoch: 5 11 | weights: output/ppyoloe_plus_crn_x_80e_coco/model_final 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_x_obj365_pretrained.pdparams 14 | depth_mult: 1.33 15 | width_mult: 1.25 16 | -------------------------------------------------------------------------------- /configs/ppyoloe/voc/README_cn.md: -------------------------------------------------------------------------------- 1 | # PP-YOLOE 2 | 3 | ## 模型库 4 | 5 | ### VOC数据集模型库 6 | | 模型 | Epoch | GPU个数 | 每GPU图片个数 | 骨干网络 | 输入尺寸 | Box AP0.5 | Params(M) | FLOPs(G) | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | 模型下载 | 配置文件 | 7 | |:---------------:|:-----:|:-----------:|:-----------:|:---------:|:----------:|:--------------:|:---------:|:---------:|:-------------:|:-----------------------:| :-------: |:--------:| 8 | | PP-YOLOE+_s | 30 | 8 | 8 | cspresnet-s | 640 | 86.7 | 7.93 | 17.36 | 208.3 | 333.3 | [model](https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_s_30e_voc.pdparams) | [config](./ppyoloe_plus_crn_s_30e_voc.yml) | 9 | | PP-YOLOE+_l | 30 | 8 | 8 | cspresnet-l | 640 | 89.0 | 52.20 | 110.07 | 78.1 | 149.2 | [model](https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_l_30e_voc.pdparams) | [config](./ppyoloe_plus_crn_l_30e_voc.yml) | 10 | -------------------------------------------------------------------------------- /configs/ppyoloe_seg/_base_/optimizer_80e.yml: -------------------------------------------------------------------------------- 1 | epoch: 80 2 | 3 | LearningRate: 4 | base_lr: 0.001 5 | schedulers: 6 | - name: CosineDecay 7 | max_epochs: 96 8 | - name: LinearWarmup 9 | start_factor: 0. 10 | epochs: 5 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | momentum: 0.9 15 | type: Momentum 16 | regularizer: 17 | factor: 0.0005 18 | type: L2 19 | -------------------------------------------------------------------------------- /configs/ppyoloe_seg/ppyoloe_seg_l_80e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_80e.yml', 5 | './_base_/ppyoloe_plus_crn_seg.yml', 6 | './_base_/ppyoloe_plus_seg_reader.yml', 7 | ] 8 | log_iter: 50 9 | snapshot_epoch: 5 10 | weights: output/ppyoloe_seg_l_80e_coco/model_final 11 | 12 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_l_obj365_pretrained.pdparams 13 | depth_mult: 1.0 14 | width_mult: 1.0 15 | -------------------------------------------------------------------------------- /configs/ppyoloe_seg/ppyoloe_seg_m_80e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_80e.yml', 5 | './_base_/ppyoloe_plus_crn_seg.yml', 6 | './_base_/ppyoloe_plus_seg_reader.yml', 7 | ] 8 | log_iter: 50 9 | snapshot_epoch: 5 10 | weights: output/ppyoloe_seg_m_80e_coco/model_final 11 | 12 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_l_obj365_pretrained.pdparams 13 | depth_mult: 0.67 14 | width_mult: 0.75 15 | -------------------------------------------------------------------------------- /configs/ppyoloe_seg/ppyoloe_seg_s_80e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_80e.yml', 5 | './_base_/ppyoloe_plus_crn_seg.yml', 6 | './_base_/ppyoloe_plus_seg_reader.yml', 7 | ] 8 | log_iter: 50 9 | snapshot_epoch: 5 10 | weights: output/ppyoloe_seg_s_80e_coco/model_final 11 | 12 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_s_obj365_pretrained.pdparams 13 | depth_mult: 0.33 14 | width_mult: 0.50 15 | -------------------------------------------------------------------------------- /configs/ppyoloe_seg/ppyoloe_seg_x_80e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_80e.yml', 5 | './_base_/ppyoloe_plus_crn_seg.yml', 6 | './_base_/ppyoloe_plus_seg_reader.yml', 7 | ] 8 | log_iter: 50 9 | snapshot_epoch: 5 10 | weights: output/ppyoloe_seg_x_80e_coco/model_final 11 | 12 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_x_obj365_pretrained.pdparams 13 | depth_mult: 1.33 14 | width_mult: 1.25 15 | -------------------------------------------------------------------------------- /configs/rtdetr/_base_/optimizer_6x.yml: -------------------------------------------------------------------------------- 1 | epoch: 72 2 | 3 | LearningRate: 4 | base_lr: 0.0001 5 | schedulers: 6 | - !PiecewiseDecay 7 | gamma: 1.0 8 | milestones: [100] 9 | use_warmup: true 10 | - !LinearWarmup 11 | start_factor: 0.001 12 | steps: 2000 13 | 14 | OptimizerBuilder: 15 | clip_grad_by_norm: 0.1 16 | regularizer: false 17 | optimizer: 18 | type: AdamW 19 | weight_decay: 0.0001 20 | -------------------------------------------------------------------------------- /configs/rtdetr/rtdetr_hgnetv2_l_6x_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_6x.yml', 5 | '_base_/rtdetr_r50vd.yml', 6 | '_base_/rtdetr_reader.yml', 7 | ] 8 | 9 | weights: output/rtdetr_hgnetv2_l_6x_coco/model_final 10 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/PPHGNetV2_L_ssld_pretrained.pdparams 11 | find_unused_parameters: True 12 | log_iter: 200 13 | 14 | 15 | DETR: 16 | backbone: PPHGNetV2 17 | 18 | PPHGNetV2: 19 | arch: 'L' 20 | return_idx: [1, 2, 3] 21 | freeze_stem_only: True 22 | freeze_at: 0 23 | freeze_norm: True 24 | lr_mult_list: [0., 0.05, 0.05, 0.05, 0.05] 25 | -------------------------------------------------------------------------------- /configs/rtdetr/rtdetr_r18vd_6x_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_6x.yml', 5 | '_base_/rtdetr_r50vd.yml', 6 | '_base_/rtdetr_reader.yml', 7 | ] 8 | 9 | weights: output/rtdetr_r18_6x_coco/model_final 10 | find_unused_parameters: True 11 | log_iter: 200 12 | 13 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet18_vd_pretrained.pdparams 14 | ResNet: 15 | depth: 18 16 | variant: d 17 | return_idx: [1, 2, 3] 18 | freeze_at: -1 19 | freeze_norm: false 20 | norm_decay: 0. 21 | 22 | HybridEncoder: 23 | hidden_dim: 256 24 | use_encoder_idx: [2] 25 | num_encoder_layers: 1 26 | encoder_layer: 27 | name: TransformerLayer 28 | d_model: 256 29 | nhead: 8 30 | dim_feedforward: 1024 31 | dropout: 0. 32 | activation: 'gelu' 33 | expansion: 0.5 34 | depth_mult: 1.0 35 | 36 | RTDETRTransformer: 37 | eval_idx: -1 38 | num_decoder_layers: 3 39 | -------------------------------------------------------------------------------- /configs/rtdetr/rtdetr_r34vd_6x_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_6x.yml', 5 | '_base_/rtdetr_r50vd.yml', 6 | '_base_/rtdetr_reader.yml', 7 | ] 8 | 9 | weights: output/rtdetr_r34vd_6x_coco/model_final 10 | find_unused_parameters: True 11 | log_iter: 200 12 | 13 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ResNet34_vd_pretrained.pdparams 14 | ResNet: 15 | depth: 34 16 | variant: d 17 | return_idx: [1, 2, 3] 18 | freeze_at: -1 19 | freeze_norm: false 20 | norm_decay: 0. 21 | 22 | HybridEncoder: 23 | hidden_dim: 256 24 | use_encoder_idx: [2] 25 | num_encoder_layers: 1 26 | encoder_layer: 27 | name: TransformerLayer 28 | d_model: 256 29 | nhead: 8 30 | dim_feedforward: 1024 31 | dropout: 0. 32 | activation: 'gelu' 33 | expansion: 0.5 34 | depth_mult: 1.0 35 | 36 | RTDETRTransformer: 37 | eval_idx: -1 38 | num_decoder_layers: 4 39 | -------------------------------------------------------------------------------- /configs/rtdetr/rtdetr_r50vd_6x_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_6x.yml', 5 | '_base_/rtdetr_r50vd.yml', 6 | '_base_/rtdetr_reader.yml', 7 | ] 8 | 9 | weights: output/rtdetr_r50vd_6x_coco/model_final 10 | find_unused_parameters: True 11 | log_iter: 200 12 | -------------------------------------------------------------------------------- /configs/rtdetr/rtdetr_r50vd_m_6x_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_6x.yml', 5 | '_base_/rtdetr_r50vd.yml', 6 | '_base_/rtdetr_reader.yml', 7 | ] 8 | 9 | weights: output/rtdetr_r50vd_m_6x_coco/model_final 10 | find_unused_parameters: True 11 | log_iter: 200 12 | 13 | HybridEncoder: 14 | hidden_dim: 256 15 | use_encoder_idx: [2] 16 | num_encoder_layers: 1 17 | encoder_layer: 18 | name: TransformerLayer 19 | d_model: 256 20 | nhead: 8 21 | dim_feedforward: 1024 22 | dropout: 0. 23 | activation: 'gelu' 24 | expansion: 0.5 25 | depth_mult: 1.0 26 | 27 | RTDETRTransformer: 28 | eval_idx: 2 # use 3th decoder layer to eval 29 | -------------------------------------------------------------------------------- /configs/rtmdet/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | # set the same as YOLOX scheduler temporarily 2 | epoch: 300 3 | 4 | LearningRate: 5 | base_lr: 0.0004 6 | schedulers: 7 | - !CosineDecay 8 | max_epochs: 300 9 | - !LinearWarmup 10 | start_factor: 0.00001 11 | steps: 1000 12 | 13 | OptimizerBuilder: 14 | regularizer: false 15 | optimizer: 16 | type: AdamW 17 | weight_decay: 0.05 18 | -------------------------------------------------------------------------------- /configs/rtmdet/_base_/rtmdet_cspnext.yml: -------------------------------------------------------------------------------- 1 | architecture: RTMDet 2 | norm_type: sync_bn 3 | use_ema: True 4 | ema_decay: 0.9998 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 | RTMDet: 13 | backbone: CSPNeXt 14 | neck: CSPNeXtPAFPN 15 | head: RTMDetHead 16 | post_process: ~ 17 | 18 | CSPNeXt: 19 | arch: "P5" 20 | return_idx: [2, 3, 4] 21 | 22 | # use default config 23 | # CSPNeXtPAFPN: 24 | 25 | RTMDetHead: 26 | exp_on_reg: False 27 | fpn_strides: [8, 16, 32] 28 | grid_cell_offset: 0 29 | nms: 30 | name: MultiClassNMS 31 | nms_top_k: 1000 32 | keep_top_k: 100 33 | score_threshold: 0.05 34 | nms_threshold: 0.6 35 | -------------------------------------------------------------------------------- /configs/rtmdet/_base_/rtmdet_ins_cspnext.yml: -------------------------------------------------------------------------------- 1 | architecture: RTMDet 2 | norm_type: sync_bn 3 | use_ema: True 4 | ema_decay: 0.9998 5 | ema_decay_type: "exponential" 6 | act: silu 7 | find_unused_parameters: True 8 | with_mask: True 9 | 10 | depth_mult: 1.0 11 | width_mult: 1.0 12 | 13 | RTMDet: 14 | backbone: CSPNeXt 15 | neck: CSPNeXtPAFPN 16 | head: RTMDetInsHead 17 | with_mask: True 18 | post_process: ~ 19 | 20 | CSPNeXt: 21 | arch: "P5" 22 | return_idx: [2, 3, 4] 23 | 24 | # use default config 25 | # CSPNeXtPAFPN: 26 | 27 | RTMDetInsHead: 28 | exp_on_reg: False 29 | fpn_strides: [8, 16, 32] 30 | grid_cell_offset: 0 31 | nms: 32 | name: MultiClassNMS 33 | nms_top_k: 1000 34 | keep_top_k: 100 35 | score_threshold: 0.05 36 | nms_threshold: 0.6 37 | return_index: True 38 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_ins_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_ins_cspnext.yml', 6 | './_base_/rtmdet_reader.yml', 7 | ] 8 | depth_mult: 1.0 9 | width_mult: 1.0 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/rtmnet_ins_l_300e_coco/model_final 14 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_ins_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_ins_cspnext.yml', 6 | './_base_/rtmdet_reader.yml', 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 0.75 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/rtmnet_ins_m_300e_coco/model_final 14 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_ins_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_ins_cspnext.yml', 6 | './_base_/rtmdet_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/rtmnet_ins_s_300e_coco/model_final 14 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/cspnext_s_pretrained.pdparams 15 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_ins_t_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_ins_cspnext.yml', 6 | './_base_/rtmdet_reader.yml', 7 | ] 8 | depth_mult: 0.167 # 0.33 in yolox-tiny 9 | width_mult: 0.375 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/rtmnet_ins_t_300e_coco/model_final 14 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/cspnext_t_pretrained.pdparams 15 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_ins_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_ins_cspnext.yml', 6 | './_base_/rtmdet_reader.yml', 7 | ] 8 | depth_mult: 1.33 9 | width_mult: 1.25 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/rtmnet_ins_x_300e_coco/model_final 14 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_cspnext.yml', 6 | './_base_/rtmdet_reader.yml', 7 | ] 8 | depth_mult: 1.0 9 | width_mult: 1.0 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/rtmnet_l_300e_coco/model_final 14 | 15 | RTMDetHead: 16 | exp_on_reg: True 17 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_cspnext.yml', 6 | './_base_/rtmdet_reader.yml', 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 0.75 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/rtmnet_m_300e_coco/model_final 14 | 15 | RTMDetHead: 16 | exp_on_reg: True 17 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_cspnext.yml', 6 | './_base_/rtmdet_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/rtmnet_s_300e_coco/model_final 14 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/cspnext_s_pretrained.pdparams 15 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_t_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_cspnext.yml', 6 | './_base_/rtmdet_reader.yml', 7 | ] 8 | depth_mult: 0.167 # 0.33 in yolox-tiny 9 | width_mult: 0.375 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/rtmnet_t_300e_coco/model_final 14 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/cspnext_t_pretrained.pdparams 15 | -------------------------------------------------------------------------------- /configs/rtmdet/rtmdet_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/rtmdet_cspnext.yml', 6 | './_base_/rtmdet_reader.yml', 7 | ] 8 | depth_mult: 1.33 9 | width_mult: 1.25 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/rtmnet_x_300e_coco/model_final 14 | 15 | RTMDetHead: 16 | exp_on_reg: True 17 | -------------------------------------------------------------------------------- /configs/runtime.yml: -------------------------------------------------------------------------------- 1 | use_gpu: true 2 | use_xpu: false 3 | use_mlu: false 4 | use_npu: false 5 | log_iter: 20 6 | save_dir: output 7 | snapshot_epoch: 1 8 | print_flops: false 9 | print_params: false 10 | 11 | # Exporting the model 12 | export: 13 | post_process: True # Whether post-processing is included in the network when export model. 14 | nms: True # Whether NMS is included in the network when export model. 15 | benchmark: False # It is used to testing model performance, if set `True`, post-process and NMS will not be exported. 16 | fuse_conv_bn: False 17 | -------------------------------------------------------------------------------- /configs/semi_det/baseline/fcos_r50_fpn_2x_coco_sup005.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../fcos/fcos_r50_fpn_iou_multiscale_2x_coco.yml', 3 | ] 4 | log_iter: 50 5 | snapshot_epoch: 2 6 | weights: output/fcos_r50_fpn_2x_coco_sup005/model_final 7 | 8 | 9 | TrainDataset: 10 | !COCODataSet 11 | image_dir: train2017 12 | anno_path: semi_annotations/instances_train2017.1@5.json 13 | dataset_dir: dataset/coco 14 | data_fields: ['image', 'gt_bbox', 'gt_class'] 15 | 16 | 17 | epoch: 24 18 | LearningRate: 19 | base_lr: 0.01 20 | schedulers: 21 | - !PiecewiseDecay 22 | gamma: 0.1 23 | milestones: [16, 22] 24 | - !LinearWarmup 25 | start_factor: 0.001 26 | epochs: 1 27 | -------------------------------------------------------------------------------- /configs/semi_det/baseline/fcos_r50_fpn_2x_coco_sup010.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../fcos/fcos_r50_fpn_iou_multiscale_2x_coco.yml', 3 | ] 4 | log_iter: 50 5 | snapshot_epoch: 2 6 | weights: output/fcos_r50_fpn_2x_coco_sup010/model_final 7 | 8 | 9 | TrainDataset: 10 | !COCODataSet 11 | image_dir: train2017 12 | anno_path: semi_annotations/instances_train2017.1@10.json 13 | dataset_dir: dataset/coco 14 | data_fields: ['image', 'gt_bbox', 'gt_class'] 15 | 16 | 17 | epoch: 24 18 | LearningRate: 19 | base_lr: 0.01 20 | schedulers: 21 | - !PiecewiseDecay 22 | gamma: 0.1 23 | milestones: [16, 22] 24 | - !LinearWarmup 25 | start_factor: 0.001 26 | epochs: 1 27 | -------------------------------------------------------------------------------- /configs/semi_det/baseline/ppyoloe_plus_crn_l_80e_coco_sup005.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../ppyoloe/ppyoloe_plus_crn_l_80e_coco.yml', 3 | ] 4 | log_iter: 50 5 | snapshot_epoch: 5 6 | weights: output/ppyoloe_plus_crn_l_80e_coco_sup005/model_final 7 | 8 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_l_obj365_pretrained.pdparams 9 | depth_mult: 1.0 10 | width_mult: 1.0 11 | 12 | 13 | TrainDataset: 14 | !COCODataSet 15 | image_dir: train2017 16 | anno_path: semi_annotations/instances_train2017.1@5.json 17 | dataset_dir: dataset/coco 18 | data_fields: ['image', 'gt_bbox', 'gt_class'] 19 | 20 | 21 | epoch: 80 22 | LearningRate: 23 | base_lr: 0.001 24 | schedulers: 25 | - !CosineDecay 26 | max_epochs: 96 27 | - !LinearWarmup 28 | start_factor: 0. 29 | epochs: 5 30 | -------------------------------------------------------------------------------- /configs/semi_det/baseline/ppyoloe_plus_crn_l_80e_coco_sup010.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../ppyoloe/ppyoloe_plus_crn_l_80e_coco.yml', 3 | ] 4 | log_iter: 50 5 | snapshot_epoch: 5 6 | weights: output/ppyoloe_plus_crn_l_80e_coco_sup010/model_final 7 | 8 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_l_obj365_pretrained.pdparams 9 | depth_mult: 1.0 10 | width_mult: 1.0 11 | 12 | 13 | TrainDataset: 14 | !COCODataSet 15 | image_dir: train2017 16 | anno_path: semi_annotations/instances_train2017.1@10.json 17 | dataset_dir: dataset/coco 18 | data_fields: ['image', 'gt_bbox', 'gt_class'] 19 | 20 | 21 | epoch: 80 22 | LearningRate: 23 | base_lr: 0.001 24 | schedulers: 25 | - !CosineDecay 26 | max_epochs: 96 27 | - !LinearWarmup 28 | start_factor: 0. 29 | epochs: 5 30 | -------------------------------------------------------------------------------- /configs/semi_det/baseline/ppyoloe_plus_crn_s_80e_coco_sup005.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../ppyoloe/ppyoloe_plus_crn_s_80e_coco.yml', 3 | ] 4 | log_iter: 50 5 | snapshot_epoch: 5 6 | weights: output/ppyoloe_plus_crn_s_80e_coco_sup005/model_final 7 | 8 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_s_obj365_pretrained.pdparams 9 | depth_mult: 0.33 10 | width_mult: 0.50 11 | 12 | 13 | TrainDataset: 14 | !COCODataSet 15 | image_dir: train2017 16 | anno_path: semi_annotations/instances_train2017.1@5.json 17 | dataset_dir: dataset/coco 18 | data_fields: ['image', 'gt_bbox', 'gt_class'] 19 | 20 | 21 | epoch: 80 22 | LearningRate: 23 | base_lr: 0.001 24 | schedulers: 25 | - !CosineDecay 26 | max_epochs: 96 27 | - !LinearWarmup 28 | start_factor: 0. 29 | epochs: 5 30 | -------------------------------------------------------------------------------- /configs/semi_det/baseline/ppyoloe_plus_crn_s_80e_coco_sup010.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../ppyoloe/ppyoloe_plus_crn_s_80e_coco.yml', 3 | ] 4 | log_iter: 50 5 | snapshot_epoch: 5 6 | weights: output/ppyoloe_plus_crn_s_80e_coco_sup010/model_final 7 | 8 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_s_obj365_pretrained.pdparams 9 | depth_mult: 0.33 10 | width_mult: 0.50 11 | 12 | 13 | TrainDataset: 14 | !COCODataSet 15 | image_dir: train2017 16 | anno_path: semi_annotations/instances_train2017.1@10.json 17 | dataset_dir: dataset/coco 18 | data_fields: ['image', 'gt_bbox', 'gt_class'] 19 | 20 | 21 | epoch: 80 22 | LearningRate: 23 | base_lr: 0.001 24 | schedulers: 25 | - !CosineDecay 26 | max_epochs: 96 27 | - !LinearWarmup 28 | start_factor: 0. 29 | epochs: 5 30 | -------------------------------------------------------------------------------- /configs/semi_det/baseline/retinanet_r50_fpn_2x_coco_sup005.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../retinanet/retinanet_r50_fpn_2x_coco.yml', 3 | ] 4 | log_iter: 50 5 | snapshot_epoch: 2 6 | weights: output/retinanet_r50_fpn_2x_coco_sup005/model_final 7 | 8 | 9 | TrainDataset: 10 | !COCODataSet 11 | image_dir: train2017 12 | anno_path: semi_annotations/instances_train2017.1@5.json 13 | dataset_dir: dataset/coco 14 | data_fields: ['image', 'gt_bbox', 'gt_class'] 15 | 16 | 17 | epoch: 24 18 | LearningRate: 19 | base_lr: 0.01 20 | schedulers: 21 | - !PiecewiseDecay 22 | gamma: 0.1 23 | milestones: [16, 22] 24 | - !LinearWarmup 25 | start_factor: 0.001 26 | epochs: 1 27 | -------------------------------------------------------------------------------- /configs/semi_det/baseline/retinanet_r50_fpn_2x_coco_sup010.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../retinanet/retinanet_r50_fpn_2x_coco.yml', 3 | ] 4 | log_iter: 50 5 | snapshot_epoch: 2 6 | weights: output/retinanet_r50_fpn_2x_coco_sup010/model_final 7 | 8 | 9 | TrainDataset: 10 | !COCODataSet 11 | image_dir: train2017 12 | anno_path: semi_annotations/instances_train2017.1@10.json 13 | dataset_dir: dataset/coco 14 | data_fields: ['image', 'gt_bbox', 'gt_class'] 15 | 16 | 17 | epoch: 24 18 | LearningRate: 19 | base_lr: 0.01 20 | schedulers: 21 | - !PiecewiseDecay 22 | gamma: 0.1 23 | milestones: [16, 22] 24 | - !LinearWarmup 25 | start_factor: 0.001 26 | epochs: 1 27 | -------------------------------------------------------------------------------- /configs/slim/distill/retinanet_resnet101_coco_distill.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../retinanet/retinanet_r101_fpn_2x_coco.yml', 3 | ] 4 | 5 | pretrain_weights: https://paddledet.bj.bcebos.com/models/retinanet_r101_fpn_2x_coco.pdparams 6 | 7 | slim: Distill 8 | slim_method: FGD 9 | distill_loss: FGDFeatureLoss 10 | distill_loss_name: ['neck_f_4', 'neck_f_3', 'neck_f_2', 'neck_f_1', 'neck_f_0'] 11 | 12 | FGDFeatureLoss: 13 | student_channels: 256 14 | teacher_channels: 256 15 | temp: 0.5 16 | alpha_fgd: 0.001 17 | beta_fgd: 0.0005 18 | gamma_fgd: 0.0005 19 | lambda_fgd: 0.000005 20 | -------------------------------------------------------------------------------- /configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../yolov3/yolov3_r34_270e_coco.yml', 3 | ] 4 | 5 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams 6 | 7 | 8 | slim: Distill 9 | distill_loss: DistillYOLOv3Loss 10 | 11 | DistillYOLOv3Loss: 12 | weight: 1000 13 | -------------------------------------------------------------------------------- /configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../yolov3/yolov3_r34_270e_coco.yml', 3 | ] 4 | 5 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams 6 | 7 | slim: DistillPrune 8 | 9 | distill_loss: DistillYOLOv3Loss 10 | 11 | DistillYOLOv3Loss: 12 | weight: 1000 13 | 14 | pruner: Pruner 15 | 16 | Pruner: 17 | criterion: l1_norm 18 | pruned_params: ['conv2d_27.w_0', 'conv2d_28.w_0', 'conv2d_29.w_0', 19 | 'conv2d_30.w_0', 'conv2d_31.w_0', 'conv2d_32.w_0', 20 | 'conv2d_34.w_0', 'conv2d_35.w_0', 'conv2d_36.w_0', 21 | 'conv2d_37.w_0', 'conv2d_38.w_0', 'conv2d_39.w_0', 22 | 'conv2d_41.w_0', 'conv2d_42.w_0', 'conv2d_43.w_0', 23 | 'conv2d_44.w_0', 'conv2d_45.w_0', 'conv2d_46.w_0'] 24 | pruned_ratios: [0.5,0.5,0.5,0.5,0.5,0.5,0.7,0.7,0.7,0.7,0.7,0.7,0.8,0.8,0.8,0.8,0.8,0.8] 25 | -------------------------------------------------------------------------------- /configs/slim/post_quant/mask_rcnn_r50_fpn_1x_coco_ptq.yml: -------------------------------------------------------------------------------- 1 | weights: https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_1x_coco.pdparams 2 | slim: PTQ 3 | 4 | PTQ: 5 | ptq_config: { 6 | 'activation_quantizer': 'HistQuantizer', 7 | 'upsample_bins': 127, 8 | 'hist_percent': 0.999} 9 | quant_batch_num: 10 10 | fuse: True 11 | -------------------------------------------------------------------------------- /configs/slim/post_quant/mcfairmot_ptq.yml: -------------------------------------------------------------------------------- 1 | weights: https://paddledet.bj.bcebos.com/models/mot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker.pdparams 2 | slim: PTQ 3 | 4 | PTQ: 5 | ptq_config: { 6 | 'activation_quantizer': 'HistQuantizer', 7 | 'upsample_bins': 127, 8 | 'hist_percent': 0.999} 9 | quant_batch_num: 10 10 | fuse: True 11 | -------------------------------------------------------------------------------- /configs/slim/post_quant/picodet_s_ptq.yml: -------------------------------------------------------------------------------- 1 | weights: https://paddledet.bj.bcebos.com/models/picodet_s_320_coco.pdparams 2 | slim: PTQ 3 | 4 | PTQ: 5 | ptq_config: { 6 | 'activation_quantizer': 'HistQuantizer', 7 | 'upsample_bins': 127, 8 | 'hist_percent': 0.999} 9 | quant_batch_num: 10 10 | fuse: True 11 | -------------------------------------------------------------------------------- /configs/slim/post_quant/ppyolo_mbv3_large_ptq.yml: -------------------------------------------------------------------------------- 1 | weights: https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams 2 | slim: PTQ 3 | 4 | PTQ: 5 | ptq_config: { 6 | 'activation_quantizer': 'HistQuantizer', 7 | 'upsample_bins': 127, 8 | 'hist_percent': 0.999} 9 | quant_batch_num: 10 10 | fuse: True 11 | -------------------------------------------------------------------------------- /configs/slim/post_quant/ppyolo_r50vd_dcn_ptq.yml: -------------------------------------------------------------------------------- 1 | weights: https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams 2 | slim: PTQ 3 | 4 | PTQ: 5 | ptq_config: { 6 | 'activation_quantizer': 'HistQuantizer', 7 | 'upsample_bins': 127, 8 | 'hist_percent': 0.999} 9 | quant_batch_num: 10 10 | fuse: True 11 | -------------------------------------------------------------------------------- /configs/slim/post_quant/ppyoloe_crn_s_300e_coco_ptq.yml: -------------------------------------------------------------------------------- 1 | weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_s_300e_coco.pdparams 2 | slim: PTQ 3 | 4 | PTQ: 5 | ptq_config: { 6 | 'activation_quantizer': 'HistQuantizer', 7 | 'upsample_bins': 127, 8 | 'hist_percent': 0.999} 9 | quant_batch_num: 10 10 | fuse: True 11 | -------------------------------------------------------------------------------- /configs/slim/post_quant/tinypose_128x96_ptq.yml: -------------------------------------------------------------------------------- 1 | weights: https://paddledet.bj.bcebos.com/models/keypoint/tinypose_128x96.pdparams 2 | slim: PTQ 3 | 4 | PTQ: 5 | ptq_config: { 6 | 'activation_quantizer': 'HistQuantizer', 7 | 'upsample_bins': 127, 8 | 'hist_percent': 0.999} 9 | quant_batch_num: 10 10 | fuse: True 11 | -------------------------------------------------------------------------------- /configs/slim/post_quant/yolov3_darknet53_ptq.yml: -------------------------------------------------------------------------------- 1 | weights: https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams 2 | slim: PTQ 3 | 4 | PTQ: 5 | ptq_config: { 6 | 'activation_quantizer': 'HistQuantizer', 7 | 'upsample_bins': 127, 8 | 'hist_percent': 0.999} 9 | quant_batch_num: 10 10 | fuse: True 11 | -------------------------------------------------------------------------------- /configs/slim/prune/picodet_m_unstructured_prune_75.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_m_320_coco.pdparams 2 | slim: UnstructuredPruner 3 | 4 | UnstructuredPruner: 5 | stable_epochs: 0 6 | pruning_epochs: 150 7 | tunning_epochs: 150 8 | pruning_steps: 300 9 | ratio: 0.75 10 | initial_ratio: 0.15 11 | prune_params_type: conv1x1_only 12 | -------------------------------------------------------------------------------- /configs/slim/prune/picodet_m_unstructured_prune_85.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_m_320_coco.pdparams 2 | slim: UnstructuredPruner 3 | 4 | UnstructuredPruner: 5 | stable_epochs: 0 6 | pruning_epochs: 150 7 | tunning_epochs: 150 8 | pruning_steps: 300 9 | ratio: 0.85 10 | initial_ratio: 0.20 11 | prune_params_type: conv1x1_only 12 | -------------------------------------------------------------------------------- /configs/slim/prune/ppyolo_mbv3_large_prune_fpgm.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams 2 | slim: Pruner 3 | 4 | Pruner: 5 | criterion: fpgm 6 | pruned_params: ['conv2d_62.w_0', 'conv2d_63.w_0', 'conv2d_64.w_0', 7 | 'conv2d_65.w_0', 'conv2d_66.w_0', 'conv2d_67.w_0'] 8 | pruned_ratios: [0.75, 0.75, 0.75, 0.75, 0.75, 0.75] 9 | print_params: True 10 | -------------------------------------------------------------------------------- /configs/slim/prune/ppyolo_r50vd_prune_fpgm.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams 2 | slim: Pruner 3 | 4 | Pruner: 5 | criterion: fpgm 6 | pruned_params: ['conv2d_56.w_0', 'conv2d_57.w_0', 'conv2d_58.w_0', 7 | 'conv2d_59.w_0', 'conv2d_60.w_0', 'conv2d_61.w_0', 8 | 'conv2d_63.w_0', 'conv2d_64.w_0', 'conv2d_65.w_0', 9 | 'conv2d_66.w_0', 'conv2d_67.w_0', 'conv2d_68.w_0', 10 | 'conv2d_70.w_0', 'conv2d_71.w_0', 'conv2d_72.w_0', 11 | 'conv2d_73.w_0', 'conv2d_74.w_0', 'conv2d_75.w_0'] 12 | pruned_ratios: [0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.875,0.875,0.875,0.875,0.875,0.875] 13 | print_params: False 14 | -------------------------------------------------------------------------------- /configs/slim/prune/yolov3_darknet_prune_fpgm.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams 2 | slim: Pruner 3 | 4 | Pruner: 5 | criterion: fpgm 6 | pruned_params: ['conv2d_52.w_0', 'conv2d_53.w_0', 'conv2d_54.w_0', 7 | 'conv2d_55.w_0', 'conv2d_56.w_0', 'conv2d_57.w_0', 8 | 'conv2d_59.w_0', 'conv2d_60.w_0', 'conv2d_61.w_0', 9 | 'conv2d_62.w_0', 'conv2d_63.w_0', 'conv2d_64.w_0', 10 | 'conv2d_66.w_0', 'conv2d_67.w_0', 'conv2d_68.w_0', 11 | 'conv2d_69.w_0', 'conv2d_70.w_0', 'conv2d_71.w_0'] 12 | pruned_ratios: [0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.875,0.875,0.875,0.875,0.875,0.875] 13 | print_params: True 14 | -------------------------------------------------------------------------------- /configs/slim/prune/yolov3_prune_fpgm.yml: -------------------------------------------------------------------------------- 1 | # Weights of yolov3_mobilenet_v1_voc 2 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams 3 | slim: Pruner 4 | 5 | Pruner: 6 | criterion: fpgm 7 | pruned_params: ['conv2d_27.w_0', 'conv2d_28.w_0', 'conv2d_29.w_0', 8 | 'conv2d_30.w_0', 'conv2d_31.w_0', 'conv2d_32.w_0', 9 | 'conv2d_34.w_0', 'conv2d_35.w_0', 'conv2d_36.w_0', 10 | 'conv2d_37.w_0', 'conv2d_38.w_0', 'conv2d_39.w_0', 11 | 'conv2d_41.w_0', 'conv2d_42.w_0', 'conv2d_43.w_0', 12 | 'conv2d_44.w_0', 'conv2d_45.w_0', 'conv2d_46.w_0'] 13 | pruned_ratios: [0.1,0.2,0.2,0.2,0.2,0.1,0.2,0.3,0.3,0.3,0.2,0.1,0.3,0.4,0.4,0.4,0.4,0.3] 14 | print_params: False 15 | -------------------------------------------------------------------------------- /configs/slim/prune/yolov3_prune_l1_norm.yml: -------------------------------------------------------------------------------- 1 | # Weights of yolov3_mobilenet_v1_voc 2 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams 3 | slim: Pruner 4 | 5 | Pruner: 6 | criterion: l1_norm 7 | pruned_params: ['conv2d_27.w_0', 'conv2d_28.w_0', 'conv2d_29.w_0', 8 | 'conv2d_30.w_0', 'conv2d_31.w_0', 'conv2d_32.w_0', 9 | 'conv2d_34.w_0', 'conv2d_35.w_0', 'conv2d_36.w_0', 10 | 'conv2d_37.w_0', 'conv2d_38.w_0', 'conv2d_39.w_0', 11 | 'conv2d_41.w_0', 'conv2d_42.w_0', 'conv2d_43.w_0', 12 | 'conv2d_44.w_0', 'conv2d_45.w_0', 'conv2d_46.w_0'] 13 | pruned_ratios: [0.1,0.2,0.2,0.2,0.2,0.1,0.2,0.3,0.3,0.3,0.2,0.1,0.3,0.4,0.4,0.4,0.4,0.3] 14 | print_params: False 15 | -------------------------------------------------------------------------------- /configs/slim/quant/mask_rcnn_r50_fpn_1x_qat.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_1x_coco.pdparams 2 | slim: QAT 3 | 4 | QAT: 5 | quant_config: { 6 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 7 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 8 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 9 | print_model: True 10 | 11 | 12 | epoch: 5 13 | 14 | LearningRate: 15 | base_lr: 0.001 16 | schedulers: 17 | - !PiecewiseDecay 18 | gamma: 0.1 19 | milestones: [3, 4] 20 | - !LinearWarmup 21 | start_factor: 0.001 22 | steps: 100 23 | -------------------------------------------------------------------------------- /configs/slim/quant/picodet_s_416_lcnet_quant.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_s_416_coco_lcnet.pdparams 2 | slim: QAT 3 | 4 | QAT: 5 | quant_config: { 6 | 'activation_preprocess_type': 'PACT', 7 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 8 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 9 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 10 | print_model: False 11 | 12 | TrainReader: 13 | batch_size: 48 14 | 15 | LearningRate: 16 | base_lr: 0.024 17 | schedulers: 18 | - !CosineDecay 19 | max_epochs: 300 20 | - !LinearWarmup 21 | start_factor: 0.1 22 | steps: 300 23 | -------------------------------------------------------------------------------- /configs/slim/quant/picodet_s_quant.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_s_320_coco.pdparams 2 | slim: QAT 3 | 4 | QAT: 5 | quant_config: { 6 | 'activation_preprocess_type': 'PACT', 7 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 8 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 9 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 10 | print_model: False 11 | 12 | epoch: 50 13 | LearningRate: 14 | base_lr: 0.001 15 | schedulers: 16 | - !PiecewiseDecay 17 | gamma: 0.1 18 | milestones: 19 | - 30 20 | - 40 21 | - !LinearWarmup 22 | start_factor: 0. 23 | steps: 100 24 | 25 | TrainReader: 26 | batch_size: 96 27 | -------------------------------------------------------------------------------- /configs/slim/quant/ppyolo_mbv3_large_qat.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams 2 | slim: QAT 3 | 4 | QAT: 5 | quant_config: { 6 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 7 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.99, 8 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 9 | print_model: True 10 | 11 | PPYOLOFPN: 12 | in_channels: [160, 368] 13 | coord_conv: true 14 | conv_block_num: 0 15 | spp: true 16 | drop_block: false 17 | -------------------------------------------------------------------------------- /configs/slim/quant/ppyoloe_l_qat.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams 2 | slim: QAT 3 | 4 | QAT: 5 | quant_config: { 6 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 7 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 8 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 9 | print_model: True 10 | 11 | epoch: 30 12 | snapshot_epoch: 5 13 | LearningRate: 14 | base_lr: 0.001 15 | schedulers: 16 | - !PiecewiseDecay 17 | gamma: 0.1 18 | milestones: 19 | - 10 20 | - 20 21 | - !LinearWarmup 22 | start_factor: 0. 23 | steps: 100 24 | 25 | TrainReader: 26 | batch_size: 8 27 | -------------------------------------------------------------------------------- /configs/slim/quant/ppyolov2_r50vd_dcn_qat.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams 2 | slim: QAT 3 | 4 | QAT: 5 | quant_config: { 6 | 'activation_preprocess_type': 'PACT', 7 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 8 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 9 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 10 | print_model: True 11 | 12 | epoch: 50 13 | snapshot_epoch: 8 14 | LearningRate: 15 | base_lr: 0.0005 16 | schedulers: 17 | - !PiecewiseDecay 18 | gamma: 0.1 19 | milestones: 20 | - 30 21 | - 45 22 | - !LinearWarmup 23 | start_factor: 0. 24 | steps: 2000 25 | 26 | TrainReader: 27 | batch_size: 8 28 | 29 | PPYOLOPAN: 30 | drop_block: false 31 | block_size: 3 32 | keep_prob: 0.9 33 | spp: true 34 | -------------------------------------------------------------------------------- /configs/slim/quant/ssd_mobilenet_v1_qat.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddlemodels.bj.bcebos.com/object_detection/dygraph/ssd_mobilenet_v1_300_120e_voc.pdparams 2 | slim: QAT 3 | 4 | QAT: 5 | quant_config: { 6 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 7 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 8 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 9 | print_model: True 10 | -------------------------------------------------------------------------------- /configs/slim/quant/tinypose_qat.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/keypoint/tinypose_128x96.pdparams 2 | slim: QAT 3 | 4 | QAT: 5 | quant_config: { 6 | 'activation_preprocess_type': 'PACT', 7 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 8 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 9 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 10 | print_model: False 11 | 12 | epoch: 50 13 | LearningRate: 14 | base_lr: 0.001 15 | schedulers: 16 | - !PiecewiseDecay 17 | gamma: 0.1 18 | milestones: 19 | - 30 20 | - 40 21 | - !LinearWarmup 22 | start_factor: 0. 23 | steps: 100 24 | 25 | TrainReader: 26 | batch_size: 256 27 | -------------------------------------------------------------------------------- /configs/slim/quant/yolov3_darknet_qat.yml: -------------------------------------------------------------------------------- 1 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams 2 | slim: QAT 3 | 4 | QAT: 5 | quant_config: { 6 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 7 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 8 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 9 | print_model: True 10 | 11 | epoch: 50 12 | 13 | LearningRate: 14 | base_lr: 0.0001 15 | schedulers: 16 | - !PiecewiseDecay 17 | gamma: 0.1 18 | milestones: 19 | - 30 20 | - 45 21 | - !LinearWarmup 22 | start_factor: 0. 23 | steps: 1000 24 | 25 | OptimizerBuilder: 26 | optimizer: 27 | momentum: 0.9 28 | type: Momentum 29 | regularizer: 30 | factor: 0.0005 31 | type: L2 32 | -------------------------------------------------------------------------------- /configs/slim/quant/yolov3_mobilenet_v1_qat.yml: -------------------------------------------------------------------------------- 1 | # Weights of yolov3_mobilenet_v1_coco 2 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams 3 | slim: QAT 4 | 5 | QAT: 6 | quant_config: { 7 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 8 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 9 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 10 | print_model: True 11 | -------------------------------------------------------------------------------- /configs/slim/quant/yolov3_mobilenet_v3_qat.yml: -------------------------------------------------------------------------------- 1 | # Weights of yolov3_mobilenet_v3_coco 2 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_coco.pdparams 3 | slim: QAT 4 | 5 | QAT: 6 | quant_config: { 7 | 'activation_preprocess_type': 'PACT', 8 | 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', 9 | 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 10 | 'quantizable_layer_type': ['Conv2D', 'Linear']} 11 | print_model: True 12 | 13 | epoch: 50 14 | LearningRate: 15 | base_lr: 0.0001 16 | schedulers: 17 | - !PiecewiseDecay 18 | gamma: 0.1 19 | milestones: 20 | - 35 21 | - 45 22 | - !LinearWarmup 23 | start_factor: 0. 24 | steps: 1000 25 | -------------------------------------------------------------------------------- /configs/smalldet/_base_/DOTA_sliced_500_025_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 15 3 | 4 | TrainDataset: 5 | !COCODataSet 6 | image_dir: train_images_500_025 7 | anno_path: train_500_025.json 8 | dataset_dir: dataset/dota_sliced 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: val_images_500_025 14 | anno_path: val_500_025.json 15 | dataset_dir: dataset/dota_sliced 16 | 17 | TestDataset: 18 | !ImageFolder 19 | anno_path: val_500_025.json 20 | dataset_dir: dataset/dota_sliced 21 | -------------------------------------------------------------------------------- /configs/smalldet/_base_/visdrone_sliced_640_025_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 10 3 | 4 | TrainDataset: 5 | !COCODataSet 6 | image_dir: train_images_640_025 7 | anno_path: train_640_025.json 8 | dataset_dir: dataset/visdrone_sliced 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: val_images_640_025 14 | anno_path: val_640_025.json 15 | dataset_dir: dataset/visdrone_sliced 16 | 17 | TestDataset: 18 | !ImageFolder 19 | anno_path: val_640_025.json 20 | dataset_dir: dataset/visdrone_sliced 21 | -------------------------------------------------------------------------------- /configs/smalldet/_base_/xview_sliced_400_025_detection.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 60 3 | 4 | TrainDataset: 5 | !COCODataSet 6 | image_dir: train_images_400_025 7 | anno_path: train_400_025.json 8 | dataset_dir: dataset/xview_sliced 9 | data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: val_images_400_025 14 | anno_path: val_400_025.json 15 | dataset_dir: dataset/xview_sliced 16 | 17 | TestDataset: 18 | !ImageFolder 19 | anno_path: val_400_025.json 20 | dataset_dir: dataset/xview_sliced 21 | -------------------------------------------------------------------------------- /configs/smalldet/ppyoloe_crn_l_80e_sliced_visdrone_640_025_slice_infer.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'ppyoloe_crn_l_80e_sliced_visdrone_640_025.yml', 3 | ] 4 | weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_80e_sliced_visdrone_640_025.pdparams 5 | 6 | 7 | # very slow, better to use the determined weight (xx. pdparams) to evaluate separately, rather than evaling during training 8 | # if you want to eval during training, change SlicedCOCODataSet to COCODataSet, then delete sliced_size and overlap_ratio 9 | EvalDataset: 10 | !SlicedCOCODataSet 11 | image_dir: VisDrone2019-DET-val 12 | anno_path: val.json 13 | dataset_dir: dataset/visdrone 14 | sliced_size: [640, 640] 15 | overlap_ratio: [0.25, 0.25] 16 | -------------------------------------------------------------------------------- /configs/smalldet/ppyoloe_plus_sod_crn_l_80e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '../ppyoloe/_base_/optimizer_80e.yml', 5 | '../ppyoloe/_base_/ppyoloe_plus_crn.yml', 6 | '../ppyoloe/_base_/ppyoloe_plus_reader.yml', 7 | ] 8 | log_iter: 100 9 | snapshot_epoch: 5 10 | weights: output/ppyoloe_plus_sod_crn_l_80e_coco/model_final 11 | 12 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/pretrained/ppyoloe_crn_l_obj365_pretrained.pdparams 13 | depth_mult: 1.0 14 | width_mult: 1.0 15 | 16 | CustomCSPPAN: 17 | num_layers: 4 18 | use_trans: True 19 | 20 | PPYOLOEHead: 21 | reg_range: [-2, 17] 22 | static_assigner_epoch: -1 23 | assigner: 24 | name: TaskAlignedAssigner_CR 25 | center_radius: 1 26 | nms: 27 | name: MultiClassNMS 28 | nms_top_k: 1000 29 | keep_top_k: 300 30 | score_threshold: 0.01 31 | nms_threshold: 0.7 32 | -------------------------------------------------------------------------------- /configs/smalldet/visdrone/ppyoloe_crn_l_p2_alpha_80e_visdrone.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'ppyoloe_crn_l_80e_visdrone.yml', 3 | ] 4 | log_iter: 100 5 | snapshot_epoch: 10 6 | weights: output/ppyoloe_crn_l_p2_alpha_80e_visdrone/model_final 7 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams 8 | 9 | 10 | TrainReader: 11 | batch_size: 4 12 | 13 | EvalReader: 14 | batch_size: 1 15 | 16 | TestReader: 17 | batch_size: 1 18 | fuse_normalize: True 19 | 20 | 21 | LearningRate: 22 | base_lr: 0.005 23 | 24 | 25 | CSPResNet: 26 | return_idx: [0, 1, 2, 3] 27 | use_alpha: True 28 | 29 | CustomCSPPAN: 30 | out_channels: [768, 384, 192, 64] 31 | 32 | PPYOLOEHead: 33 | fpn_strides: [32, 16, 8, 4] 34 | -------------------------------------------------------------------------------- /configs/smalldet/visdrone/ppyoloe_crn_s_p2_alpha_80e_visdrone.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'ppyoloe_crn_s_80e_visdrone.yml', 3 | ] 4 | log_iter: 100 5 | snapshot_epoch: 10 6 | weights: output/ppyoloe_crn_s_p2_alpha_80e_visdrone/model_final 7 | pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_s_300e_coco.pdparams 8 | 9 | 10 | TrainReader: 11 | batch_size: 4 12 | 13 | EvalReader: 14 | batch_size: 1 15 | 16 | TestReader: 17 | batch_size: 1 18 | fuse_normalize: True 19 | 20 | 21 | LearningRate: 22 | base_lr: 0.005 23 | 24 | CSPResNet: 25 | return_idx: [0, 1, 2, 3] 26 | use_alpha: True 27 | 28 | CustomCSPPAN: 29 | out_channels: [768, 384, 192, 64] 30 | 31 | PPYOLOEHead: 32 | fpn_strides: [32, 16, 8, 4] 33 | -------------------------------------------------------------------------------- /configs/vitdet/_base_/optimizer_base_36e.yml: -------------------------------------------------------------------------------- 1 | 2 | epoch: 36 3 | 4 | LearningRate: 5 | base_lr: 0.0001 6 | schedulers: 7 | - !CosineDecay 8 | max_epochs: 36 9 | min_lr_ratio: 0.1 10 | - !LinearWarmup 11 | start_factor: 0.001 12 | epochs: 1 13 | 14 | 15 | OptimizerBuilder: 16 | clip_grad_by_norm: 0.1 17 | regularizer: false 18 | optimizer: 19 | type: AdamW 20 | weight_decay: 0.0001 21 | -------------------------------------------------------------------------------- /configs/voc/ppyoloe_plus_crn_s_30e_voc.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../ppyoloe/ppyoloe_plus_crn_s_80e_coco.yml', 3 | '../datasets/voc.yml', 4 | ] 5 | log_iter: 50 6 | snapshot_epoch: 5 7 | weights: output/ppyoloe_plus_crn_s_30e_voc/model_final 8 | 9 | pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/ppyoloe_plus_crn_s_80e_coco.pdparams 10 | depth_mult: 0.33 11 | width_mult: 0.50 12 | 13 | 14 | TrainReader: 15 | batch_size: 8 # default 8 gpus, total bs = 64 16 | 17 | EvalReader: 18 | batch_size: 4 19 | 20 | 21 | epoch: 30 22 | LearningRate: 23 | base_lr: 0.001 24 | schedulers: 25 | - !CosineDecay 26 | max_epochs: 36 27 | - !LinearWarmup 28 | start_factor: 0. 29 | epochs: 1 30 | 31 | 32 | PPYOLOEHead: 33 | static_assigner_epoch: -1 34 | nms: 35 | name: MultiClassNMS 36 | nms_top_k: 1000 37 | keep_top_k: 300 38 | score_threshold: 0.01 39 | nms_threshold: 0.7 40 | -------------------------------------------------------------------------------- /configs/voc/yolov5_s_60e_voc.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../yolov5/yolov5_s_300e_coco.yml', 3 | '../datasets/voc.yml', 4 | ] 5 | log_iter: 50 6 | snapshot_epoch: 5 7 | weights: output/yolov5_s_60e_voc/model_final 8 | 9 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov5_s_300e_coco.pdparams 10 | depth_mult: 0.33 11 | width_mult: 0.50 12 | 13 | 14 | TrainReader: 15 | batch_size: 16 # default 8 gpus, total bs = 128 16 | 17 | EvalReader: 18 | batch_size: 4 19 | 20 | 21 | epoch: 60 22 | LearningRate: 23 | base_lr: 0.001 24 | schedulers: 25 | - !YOLOv5LRDecay 26 | max_epochs: 60 27 | min_lr_ratio: 0.01 28 | - !ExpWarmup 29 | epochs: 1 30 | -------------------------------------------------------------------------------- /configs/voc/yolov7_tiny_60e_voc.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../yolov7/yolov7_tiny_300e_coco.yml', 3 | '../datasets/voc.yml', 4 | ] 5 | log_iter: 50 6 | snapshot_epoch: 5 7 | weights: output/yolov7_tiny_60e_voc/model_final 8 | 9 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov7_tiny_300e_coco.pdparams 10 | arch: tiny 11 | act: LeakyReLU 12 | 13 | 14 | TrainReader: 15 | batch_size: 32 # default 8 gpus, total bs = 256 16 | 17 | EvalReader: 18 | batch_size: 4 19 | 20 | 21 | epoch: 60 22 | LearningRate: 23 | base_lr: 0.001 24 | schedulers: 25 | - !YOLOv5LRDecay 26 | max_epochs: 60 27 | min_lr_ratio: 0.1 28 | - !ExpWarmup 29 | epochs: 1 30 | -------------------------------------------------------------------------------- /configs/voc/yolox_s_40e_voc.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../yolox/yolox_s_300e_coco.yml', 3 | '../datasets/voc.yml', 4 | ] 5 | log_iter: 50 6 | snapshot_epoch: 5 7 | weights: output/yolox_s_40e_voc/model_final 8 | 9 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolox_s_300e_coco.pdparams 10 | depth_mult: 0.33 11 | width_mult: 0.50 12 | 13 | TrainReader: 14 | batch_size: 8 # default 8 gpus, total bs = 64 15 | 16 | EvalReader: 17 | batch_size: 4 18 | 19 | 20 | epoch: 40 21 | LearningRate: 22 | base_lr: 0.001 23 | schedulers: 24 | - !CosineDecay 25 | max_epochs: 40 26 | min_lr_ratio: 0.05 27 | last_plateau_epochs: 4 28 | - !ExpWarmup 29 | epochs: 1 30 | -------------------------------------------------------------------------------- /configs/yolof/_base_/optimizer_1x.yml: -------------------------------------------------------------------------------- 1 | epoch: 12 2 | 3 | LearningRate: 4 | base_lr: 0.06 5 | schedulers: 6 | - !PiecewiseDecay 7 | gamma: 0.1 8 | milestones: [8, 11] 9 | - !LinearWarmup 10 | start_factor: 0.00066 11 | steps: 1500 12 | 13 | OptimizerBuilder: 14 | optimizer: 15 | momentum: 0.9 16 | type: Momentum 17 | regularizer: 18 | factor: 0.0001 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolof/yolof_r50_c5_1x_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_1x.yml', 5 | './_base_/yolof_r50_c5.yml', 6 | './_base_/yolof_reader.yml' 7 | ] 8 | log_iter: 50 9 | snapshot_epoch: 1 10 | weights: output/yolof_r50_c5_1x_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/yolov10/_base_/optimizer_500e.yml: -------------------------------------------------------------------------------- 1 | epoch: 500 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 500 8 | min_lr_ratio: 0.01 9 | - !LinearWarmup 10 | start_factor: 0. 11 | epochs: 3 12 | 13 | OptimizerBuilder: 14 | optimizer: 15 | type: Momentum 16 | momentum: 0.937 17 | use_nesterov: True 18 | regularizer: 19 | factor: 0.0005 20 | type: L2 21 | clip_grad_by_norm: 10. 22 | -------------------------------------------------------------------------------- /configs/yolov10/yolov10_b_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e.yml', 5 | '_base_/yolov10_cspdarknet.yml', 6 | '_base_/yolov10_reader.yml', 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 1.00 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov10_b_500e_coco/model_final 14 | 15 | YOLOv10CSPDarkNet: 16 | last_stage_ch: 512 17 | use_c2fcib: true 18 | use_large_kernel: false 19 | 20 | YOLOv10CSPPAN: 21 | fpn_use_c2fcib: [true, false] 22 | pan_use_c2fcib: [true, true] 23 | use_large_kernel: false 24 | -------------------------------------------------------------------------------- /configs/yolov10/yolov10_l_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e.yml', 5 | '_base_/yolov10_cspdarknet.yml', 6 | '_base_/yolov10_reader.yml', 7 | ] 8 | depth_mult: 1.00 9 | width_mult: 1.00 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov10_l_500e_coco/model_final 14 | 15 | YOLOv10CSPDarkNet: 16 | last_stage_ch: 512 17 | use_c2fcib: true 18 | use_large_kernel: false 19 | 20 | YOLOv10CSPPAN: 21 | fpn_use_c2fcib: [true, false] 22 | pan_use_c2fcib: [true, true] 23 | use_large_kernel: false 24 | -------------------------------------------------------------------------------- /configs/yolov10/yolov10_m_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e.yml', 5 | '_base_/yolov10_cspdarknet.yml', 6 | '_base_/yolov10_reader.yml', 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 0.75 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov10_m_500e_coco/model_final 14 | 15 | YOLOv10CSPDarkNet: 16 | last_stage_ch: 768 17 | use_c2fcib: true 18 | use_large_kernel: false 19 | 20 | YOLOv10CSPPAN: 21 | fpn_use_c2fcib: [false, false] 22 | pan_use_c2fcib: [true, true] 23 | use_large_kernel: false 24 | 25 | -------------------------------------------------------------------------------- /configs/yolov10/yolov10_n_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e.yml', 5 | '_base_/yolov10_cspdarknet.yml', 6 | '_base_/yolov10_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov10_n_500e_coco/model_final 14 | 15 | YOLOv10CSPDarkNet: 16 | last_stage_ch: 1024 17 | use_c2fcib: false 18 | use_large_kernel: false 19 | 20 | YOLOv10CSPPAN: 21 | fpn_use_c2fcib: [false, false] 22 | pan_use_c2fcib: [false, true] 23 | use_large_kernel: true 24 | -------------------------------------------------------------------------------- /configs/yolov10/yolov10_s_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e.yml', 5 | '_base_/yolov10_cspdarknet.yml', 6 | '_base_/yolov10_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.50 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov10_s_500e_coco/model_final 14 | 15 | YOLOv10CSPDarkNet: 16 | last_stage_ch: 1024 17 | use_c2fcib: true 18 | use_large_kernel: true 19 | 20 | YOLOv10CSPPAN: 21 | fpn_use_c2fcib: [false, false] 22 | pan_use_c2fcib: [false, true] 23 | use_large_kernel: true 24 | -------------------------------------------------------------------------------- /configs/yolov10/yolov10_x_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e.yml', 5 | '_base_/yolov10_cspdarknet.yml', 6 | '_base_/yolov10_reader.yml', 7 | ] 8 | depth_mult: 1.00 9 | width_mult: 1.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov10_x_500e_coco/model_final 14 | 15 | YOLOv10CSPDarkNet: 16 | arch: 'X' 17 | last_stage_ch: 512 18 | use_c2fcib: true 19 | use_large_kernel: false 20 | 21 | YOLOv10CSPPAN: 22 | fpn_use_c2fcib: [true, false] 23 | pan_use_c2fcib: [true, true] 24 | use_large_kernel: false 25 | -------------------------------------------------------------------------------- /configs/yolov3/_base_/optimizer_270e.yml: -------------------------------------------------------------------------------- 1 | epoch: 270 2 | 3 | LearningRate: 4 | base_lr: 0.001 5 | schedulers: 6 | - !PiecewiseDecay 7 | gamma: 0.1 8 | milestones: 9 | - 216 10 | - 243 11 | - !LinearWarmup 12 | start_factor: 0. 13 | steps: 4000 14 | 15 | OptimizerBuilder: 16 | optimizer: 17 | momentum: 0.9 18 | type: Momentum 19 | regularizer: 20 | factor: 0.0005 21 | type: L2 22 | -------------------------------------------------------------------------------- /configs/yolov3/_base_/optimizer_40e.yml: -------------------------------------------------------------------------------- 1 | epoch: 40 2 | 3 | LearningRate: 4 | base_lr: 0.0001 5 | schedulers: 6 | - name: PiecewiseDecay 7 | gamma: 0.1 8 | milestones: 9 | - 32 10 | - 36 11 | - name: LinearWarmup 12 | start_factor: 0.3333333333333333 13 | steps: 100 14 | 15 | OptimizerBuilder: 16 | optimizer: 17 | momentum: 0.9 18 | type: Momentum 19 | regularizer: 20 | factor: 0.0005 21 | type: L2 22 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_darknet53_270e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_darknet53.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | weights: output/yolov3_darknet53_270e_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_darknet53_270e_voc.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/voc.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_darknet53.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | weights: output/yolov3_darknet53_270e_voc/model_final 11 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams 12 | 13 | 14 | # set collate_batch to false because ground-truth info is needed 15 | # on voc dataset and should not collate data in batch when batch size 16 | # is larger than 1. 17 | EvalReader: 18 | collate_batch: false 19 | 20 | 21 | # ### remove comment below and run evaluate again to get 56.1 COCO for mAP(0.5:0.95) 22 | # metric: COCO 23 | # EvalDataset: 24 | # !COCODataSet 25 | # image_dir: VOCdevkit/VOC2007/JPEGImages 26 | # anno_path: voc_test.json 27 | # dataset_dir: dataset/voc 28 | # # wget https://bj.bcebos.com/v1/paddledet/data/voc.zip 29 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_mobilenet_v1.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | weights: output/yolov3_mobilenet_v1_270e_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/voc.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_mobilenet_v1.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | weights: output/yolov3_mobilenet_v1_270e_voc/model_final 11 | 12 | # set collate_batch to false because ground-truth info is needed 13 | # on voc dataset and should not collate data in batch when batch size 14 | # is larger than 1. 15 | EvalReader: 16 | collate_batch: false 17 | 18 | LearningRate: 19 | base_lr: 0.001 20 | schedulers: 21 | - !PiecewiseDecay 22 | gamma: 0.1 23 | milestones: 24 | - 216 25 | - 243 26 | - !LinearWarmup 27 | start_factor: 0. 28 | steps: 1000 29 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_mobilenet_v1_roadsign.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/roadsign_voc.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_40e.yml', 5 | '_base_/yolov3_mobilenet_v1.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams 9 | weights: output/yolov3_mobilenet_v1_roadsign/model_final 10 | 11 | YOLOv3Loss: 12 | ignore_thresh: 0.7 13 | label_smooth: true 14 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_mobilenet_v1.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV1_ssld_pretrained.pdparams 11 | weights: output/yolov3_mobilenet_v1_ssld_270e_coco/model_final 12 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/voc.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_mobilenet_v1.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV1_ssld_pretrained.pdparams 11 | weights: output/yolov3_mobilenet_v1_ssld_270e_voc/model_final 12 | 13 | # set collate_batch to false because ground-truth info is needed 14 | # on voc dataset and should not collate data in batch when batch size 15 | # is larger than 1. 16 | EvalReader: 17 | collate_batch: false 18 | 19 | LearningRate: 20 | base_lr: 0.001 21 | schedulers: 22 | - !PiecewiseDecay 23 | gamma: 0.1 24 | milestones: 25 | - 216 26 | - 243 27 | - !LinearWarmup 28 | start_factor: 0. 29 | steps: 1000 30 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_mobilenet_v3_large.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | weights: output/yolov3_mobilenet_v3_large_270e_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/voc.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_mobilenet_v3_large.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | weights: output/yolov3_mobilenet_v3_large_270e_voc/model_final 11 | 12 | # set collate_batch to false because ground-truth info is needed 13 | # on voc dataset and should not collate data in batch when batch size 14 | # is larger than 1. 15 | EvalReader: 16 | collate_batch: false 17 | 18 | LearningRate: 19 | base_lr: 0.001 20 | schedulers: 21 | - !PiecewiseDecay 22 | gamma: 0.1 23 | milestones: 24 | - 216 25 | - 243 26 | - !LinearWarmup 27 | start_factor: 0. 28 | steps: 1000 29 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/voc.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_mobilenet_v3_large.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV3_large_x1_0_ssld_pretrained.pdparams 11 | weights: output/yolov3_mobilenet_v3_large_ssld_270e_voc/model_final 12 | 13 | # set collate_batch to false because ground-truth info is needed 14 | # on voc dataset and should not collate data in batch when batch size 15 | # is larger than 1. 16 | EvalReader: 17 | collate_batch: false 18 | 19 | LearningRate: 20 | base_lr: 0.001 21 | schedulers: 22 | - !PiecewiseDecay 23 | gamma: 0.1 24 | milestones: 25 | - 216 26 | - 243 27 | - !LinearWarmup 28 | start_factor: 0. 29 | steps: 1000 30 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_r34_270e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_r34.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | weights: output/yolov3_r34_270e_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_270e.yml', 5 | '_base_/yolov3_r50vd_dcn.yml', 6 | '_base_/yolov3_reader.yml', 7 | ] 8 | 9 | snapshot_epoch: 5 10 | weights: output/yolov3_r50vd_dcn_270e_coco/model_final 11 | -------------------------------------------------------------------------------- /configs/yolov5/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.01 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov5/_base_/optimizer_300e_high.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.1 # 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov5/_base_/yolov5_cspresnet.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'yolov5_cspdarknet.yml', 3 | ] 4 | 5 | YOLOv5: 6 | backbone: CSPResNet 7 | neck: CustomCSPPAN 8 | yolo_head: YOLOv5Head 9 | post_process: ~ 10 | 11 | CSPResNet: 12 | layers: [3, 6, 6, 3] 13 | channels: [64, 128, 256, 512, 1024] 14 | return_idx: [1, 2, 3] 15 | use_large_stem: True 16 | 17 | CustomCSPPAN: 18 | out_channels: [768, 384, 192] 19 | stage_num: 1 20 | block_num: 3 21 | act: 'swish' 22 | spp: true 23 | -------------------------------------------------------------------------------- /configs/yolov5/_base_/yolov5p2_cspdarknet.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'yolov5_cspdarknet.yml', 3 | ] 4 | 5 | CSPDarkNet: 6 | arch: "P5" 7 | return_idx: [1, 2, 3, 4] 8 | 9 | YOLOv5Head: 10 | anchors: [[5, 6], [8, 14], [15, 11], 11 | [10, 13], [16, 30], [33, 23], 12 | [30, 61], [62, 45], [59, 119], 13 | [116, 90], [156, 198], [373, 326]] 14 | anchor_masks: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]] 15 | stride: [4, 8, 16, 32] 16 | 17 | YOLOv5Loss: 18 | downsample_ratios: [4, 8, 16, 32] 19 | balance: [4.0, 1.0, 0.25, 0.06] 20 | -------------------------------------------------------------------------------- /configs/yolov5/_base_/yolov5p6_cspdarknet.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'yolov5_cspdarknet.yml', 3 | ] 4 | 5 | CSPDarkNet: 6 | arch: "P6" 7 | return_idx: [2, 3, 4, 5] 8 | 9 | YOLOv5Head: 10 | anchors: [[19, 27], [44, 40], [38, 94], 11 | [96, 68], [86, 152], [180, 137], 12 | [140, 301], [303, 264], [238, 542], 13 | [436, 615], [739, 380], [925, 792]] 14 | anchor_masks: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]] 15 | stride: [8, 16, 32, 64] 16 | 17 | YOLOv5Loss: 18 | downsample_ratios: [8, 16, 32, 64] 19 | balance: [4.0, 1.0, 0.25, 0.06] 20 | box_weight: 0.05 21 | obj_weight: 0.7 22 | cls_weght: 0.3 23 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5_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/yolov5_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 23 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5_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/yolov5_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 23 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5_n_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov5_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/yolov5_n_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov5_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/yolov5_s_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5_s_80e_ssod_finetune_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov5_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/yolov5_s_80e_ssod_finetune_coco/model_final 14 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/yolov5_s_300e_ssod_coco.pdparams 15 | 16 | 17 | TrainReader: 18 | batch_size: 16 # default 8 gpus, total bs = 128 19 | 20 | 21 | epoch: 80 22 | LearningRate: 23 | base_lr: 0.001 24 | schedulers: 25 | - !YOLOv5LRDecay 26 | max_epochs: 80 27 | min_lr_ratio: 0.01 28 | - !ExpWarmup 29 | epochs: 3 30 | 31 | OptimizerBuilder: 32 | optimizer: 33 | type: Momentum 34 | momentum: 0.937 35 | use_nesterov: True 36 | regularizer: 37 | factor: 0.0005 38 | type: L2 39 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5_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/yolov5_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 23 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5p6_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5p6_cspdarknet.yml', 6 | '_base_/yolov5p6_reader.yml', 7 | ] 8 | depth_mult: 1.0 9 | width_mult: 1.0 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/yolov5p6_l_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 8 # default 8 gpus, total bs = 64 18 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5p6_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5p6_cspdarknet.yml', 6 | '_base_/yolov5p6_reader.yml', 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 0.75 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/yolov5p6_m_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5p6_n_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5p6_cspdarknet.yml', 6 | '_base_/yolov5p6_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/yolov5p6_n_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5p6_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5p6_cspdarknet.yml', 6 | '_base_/yolov5p6_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/yolov5p6_s_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov5/yolov5p6_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5p6_cspdarknet.yml', 6 | '_base_/yolov5p6_reader.yml', 7 | ] 8 | depth_mult: 1.33 9 | width_mult: 1.25 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/yolov5p6_x_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 8 # default 8 gpus, total bs = 64 18 | -------------------------------------------------------------------------------- /configs/yolov5_seg/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.01 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov5_seg/_base_/optimizer_300e_high.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.1 # 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov5_seg/yolov5_seg_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5_seg_cspdarknet.yml', 6 | '_base_/yolov5_seg_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/yolov5_seg_l_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | 19 | EvalReader: 20 | batch_size: 1 21 | 22 | 23 | YOLOv5Loss: 24 | obj_weight: 0.7 25 | cls_weght: 0.3 26 | -------------------------------------------------------------------------------- /configs/yolov5_seg/yolov5_seg_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5_seg_cspdarknet.yml', 6 | '_base_/yolov5_seg_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/yolov5_seg_m_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | 19 | EvalReader: 20 | batch_size: 1 21 | 22 | 23 | YOLOv5Loss: 24 | obj_weight: 0.7 25 | cls_weght: 0.3 26 | -------------------------------------------------------------------------------- /configs/yolov5_seg/yolov5_seg_n_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov5_seg_cspdarknet.yml', 6 | '_base_/yolov5_seg_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov5_seg_n_300e_coco/model_final 14 | -------------------------------------------------------------------------------- /configs/yolov5_seg/yolov5_seg_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov5_seg_cspdarknet.yml', 6 | '_base_/yolov5_seg_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/yolov5_seg_s_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | 19 | EvalReader: 20 | batch_size: 1 21 | -------------------------------------------------------------------------------- /configs/yolov5_seg/yolov5_seg_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5_seg_cspdarknet.yml', 6 | '_base_/yolov5_seg_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/yolov5_seg_x_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | 19 | EvalReader: 20 | batch_size: 1 21 | 22 | 23 | YOLOv5Loss: 24 | obj_weight: 0.7 25 | cls_weght: 0.3 26 | -------------------------------------------------------------------------------- /configs/yolov5u/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.01 9 | - !ExpWarmup 10 | epochs: 5 #3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.001 # 0.0005 in yolov8 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov5u/_base_/optimizer_300e_high.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.1 # 9 | - !ExpWarmup 10 | epochs: 5 #3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.001 # 0.0005 in yolov8 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov5u/_base_/yolov5u_cspdarknet.yml: -------------------------------------------------------------------------------- 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 | YOLOv5: 13 | backbone: CSPDarkNet 14 | neck: YOLOCSPPAN 15 | yolo_head: YOLOv8Head 16 | post_process: ~ 17 | 18 | CSPDarkNet: 19 | arch: "P5" 20 | return_idx: [2, 3, 4] 21 | depthwise: false 22 | 23 | YOLOCSPPAN: 24 | depthwise: false 25 | 26 | YOLOv8Head: 27 | fpn_strides: [8, 16, 32] 28 | loss_weight: {class: 0.5, iou: 7.5, dfl: 1.5} 29 | assigner: 30 | name: TaskAlignedAssigner 31 | topk: 10 32 | alpha: 0.5 33 | beta: 6.0 34 | nms: 35 | name: MultiClassNMS 36 | nms_top_k: 3000 37 | keep_top_k: 300 38 | score_threshold: 0.001 39 | nms_threshold: 0.7 40 | -------------------------------------------------------------------------------- /configs/yolov5u/_base_/yolov5up6_cspdarknet.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'yolov5u_cspdarknet.yml', 3 | ] 4 | 5 | CSPDarkNet: 6 | arch: "P6" 7 | return_idx: [2, 3, 4, 5] 8 | 9 | YOLOCSPPAN: 10 | depthwise: false 11 | 12 | YOLOv8Head: 13 | fpn_strides: [8, 16, 32, 64] 14 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5u_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5u_cspdarknet.yml', 6 | '_base_/yolov5u_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 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5u_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5u_cspdarknet.yml', 6 | '_base_/yolov5u_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 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5u_n_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov5u_cspdarknet.yml', 6 | '_base_/yolov5u_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 18 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5u_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov5u_cspdarknet.yml', 6 | '_base_/yolov5u_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 18 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5u_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5u_cspdarknet.yml', 6 | '_base_/yolov5u_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 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5up6_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5up6_cspdarknet.yml', 6 | '_base_/yolov5up6_reader.yml', 7 | ] 8 | depth_mult: 1.0 9 | width_mult: 1.0 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/yolov5up6_l_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 8 # default 8 gpus, total bs = 64 18 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5up6_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5up6_cspdarknet.yml', 6 | '_base_/yolov5up6_reader.yml', 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 0.75 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/yolov5up6_m_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5up6_n_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov5up6_cspdarknet.yml', 6 | '_base_/yolov5up6_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/yolov5up6_n_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5up6_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov5up6_cspdarknet.yml', 6 | '_base_/yolov5up6_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/yolov5up6_s_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov5u/yolov5up6_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_high.yml', 5 | '_base_/yolov5up6_cspdarknet.yml', 6 | '_base_/yolov5up6_reader.yml', 7 | ] 8 | depth_mult: 1.33 9 | width_mult: 1.25 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/yolov5up6_x_300e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 8 # default 8 gpus, total bs = 64 18 | -------------------------------------------------------------------------------- /configs/yolov6/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.01 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov6/_base_/optimizer_300e_fintune.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.0032 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.12 9 | - !ExpWarmup 10 | epochs: 2 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.843 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.00036 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov6_seg/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.01 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov6_seg/yolov6_seg_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov6_seg_cspbep.yml', 6 | '_base_/yolov6_seg_reader_high_aug.yml', 7 | ] 8 | depth_mult: 0.60 9 | width_mult: 0.75 10 | log_iter: 20 11 | snapshot_epoch: 10 12 | weights: output/yolov6_seg_m_300e_coco/model_final 13 | 14 | 15 | ### reader config 16 | TrainReader: 17 | batch_size: 8 # default 8 gpus, total bs = 64 18 | 19 | EvalReader: 20 | batch_size: 1 21 | 22 | 23 | ### model config 24 | act: 'relu' 25 | training_mode: "repvgg" 26 | 27 | YOLOv6: 28 | backbone: CSPBepBackbone 29 | neck: CSPRepBiFPAN 30 | yolo_head: EffiDeInsHead 31 | post_process: ~ 32 | 33 | CSPBepBackbone: 34 | csp_e: 0.67 35 | 36 | CSPRepBiFPAN: 37 | csp_e: 0.67 38 | 39 | EffiDeInsHead: 40 | reg_max: 16 41 | use_dfl: True 42 | iou_type: 'giou' 43 | loss_weight: {cls: 1.0, iou: 2.5, dfl: 0.5} 44 | -------------------------------------------------------------------------------- /configs/yolov6_seg/yolov6_seg_n_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov6_seg_efficientrep.yml', 6 | '_base_/yolov6_seg_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.25 10 | log_iter: 20 11 | snapshot_epoch: 10 12 | weights: output/yolov6_seg_n_300e_coco/model_final 13 | 14 | 15 | ### reader config 16 | TrainReader: 17 | batch_size: 8 # default 8 gpus, total bs = 64 18 | 19 | EvalReader: 20 | batch_size: 1 21 | 22 | 23 | ### model config 24 | act: 'relu' 25 | training_mode: "repvgg" 26 | 27 | YOLOv6: 28 | backbone: EfficientRep 29 | neck: RepBiFPAN 30 | yolo_head: EffiDeInsHead 31 | post_process: ~ 32 | 33 | EffiDeInsHead: 34 | reg_max: 0 35 | use_dfl: False # False in n/s 36 | loss_weight: {cls: 1.0, iou: 2.5} 37 | iou_type: 'siou' # only in n version 38 | -------------------------------------------------------------------------------- /configs/yolov6lite/_base_/optimizer_400e.yml: -------------------------------------------------------------------------------- 1 | epoch: 400 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 400 8 | min_lr_ratio: 0.01 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov6lite/_base_/optimizer_400e_fintune.yml: -------------------------------------------------------------------------------- 1 | epoch: 400 2 | 3 | LearningRate: 4 | base_lr: 0.0032 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 400 8 | min_lr_ratio: 0.12 9 | - !ExpWarmup 10 | epochs: 2 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.843 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.00036 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov6lite/yolov6lite_l_400e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_400e.yml', 5 | '_base_/yolov6lite_effibackbone.yml', 6 | '_base_/yolov6lite_reader_320.yml', 7 | ] 8 | width_mult: 1.5 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/yolov6lite_l_400e_coco/model_final 12 | 13 | 14 | ### reader config 15 | TrainReader: 16 | batch_size: 32 # default 8 gpus, total bs = 256 17 | 18 | EvalReader: 19 | batch_size: 8 20 | -------------------------------------------------------------------------------- /configs/yolov6lite/yolov6lite_m_400e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_400e.yml', 5 | '_base_/yolov6lite_effibackbone.yml', 6 | '_base_/yolov6lite_reader_320.yml', 7 | ] 8 | width_mult: 1.1 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/yolov6lite_m_400e_coco/model_final 12 | 13 | 14 | ### reader config 15 | TrainReader: 16 | batch_size: 32 # default 8 gpus, total bs = 256 17 | 18 | EvalReader: 19 | batch_size: 8 20 | -------------------------------------------------------------------------------- /configs/yolov6lite/yolov6lite_s_400e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_400e.yml', 5 | '_base_/yolov6lite_effibackbone.yml', 6 | '_base_/yolov6lite_reader_320.yml', 7 | ] 8 | width_mult: 0.7 9 | log_iter: 100 10 | snapshot_epoch: 10 11 | weights: output/yolov6lite_s_400e_coco/model_final 12 | 13 | 14 | ### reader config 15 | TrainReader: 16 | batch_size: 32 # default 8 gpus, total bs = 256 17 | 18 | EvalReader: 19 | batch_size: 8 20 | -------------------------------------------------------------------------------- /configs/yolov7/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.1 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov7/_base_/optimizer_300e_p6.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.2 # 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov7/_base_/optimizer_300e_tiny.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.01 # 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov7/yolov7_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov7_elannet.yml', 6 | '_base_/yolov7_reader.yml', 7 | ] 8 | log_iter: 100 9 | snapshot_epoch: 10 10 | weights: output/yolov7_l_300e_coco/model_final 11 | 12 | arch: L 13 | 14 | 15 | TrainReader: 16 | batch_size: 16 17 | -------------------------------------------------------------------------------- /configs/yolov7/yolov7_tiny_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_tiny.yml', 5 | '_base_/yolov7_elannet.yml', 6 | '_base_/yolov7_tiny_reader.yml', 7 | ] 8 | log_iter: 100 9 | snapshot_epoch: 10 10 | weights: output/yolov7_tiny_300e_coco/model_final 11 | 12 | arch: tiny 13 | act: LeakyReLU 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 18 | 19 | 20 | YOLOv7Loss: 21 | box_weight: 0.05 22 | cls_weght: 0.5 23 | obj_weight: 1.0 24 | -------------------------------------------------------------------------------- /configs/yolov7/yolov7_tiny_320_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'yolov7_tiny_300e_coco.yml', 3 | ] 4 | log_iter: 100 5 | snapshot_epoch: 10 6 | weights: output/yolov7_tiny_320_300e_coco/model_final 7 | 8 | 9 | EvalReader: 10 | sample_transforms: 11 | - Decode: {} 12 | - Resize: {target_size: [320, 320], keep_ratio: True, interp: 1} 13 | - Pad: {size: [320, 320], fill_value: [114., 114., 114.]} 14 | - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none} 15 | - Permute: {} 16 | batch_size: 1 17 | 18 | 19 | TestReader: 20 | inputs_def: 21 | image_shape: [3, 320, 320] 22 | sample_transforms: 23 | - Decode: {} 24 | - Resize: {target_size: [320, 320], keep_ratio: True, interp: 1} 25 | - Pad: {size: [320, 320], fill_value: [114., 114., 114.]} 26 | - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none} 27 | - Permute: {} 28 | batch_size: 1 29 | fuse_normalize: False 30 | -------------------------------------------------------------------------------- /configs/yolov7/yolov7_tiny_416_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'yolov7_tiny_300e_coco.yml', 3 | ] 4 | log_iter: 100 5 | snapshot_epoch: 10 6 | weights: output/yolov7_tiny_416_300e_coco/model_final 7 | 8 | 9 | EvalReader: 10 | sample_transforms: 11 | - Decode: {} 12 | - Resize: {target_size: [416, 416], keep_ratio: True, interp: 1} 13 | - Pad: {size: [416, 416], fill_value: [114., 114., 114.]} 14 | - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none} 15 | - Permute: {} 16 | batch_size: 1 17 | 18 | 19 | TestReader: 20 | inputs_def: 21 | image_shape: [3, 416, 416] 22 | sample_transforms: 23 | - Decode: {} 24 | - Resize: {target_size: [416, 416], keep_ratio: True, interp: 1} 25 | - Pad: {size: [416, 416], fill_value: [114., 114., 114.]} 26 | - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none} 27 | - Permute: {} 28 | batch_size: 1 29 | fuse_normalize: False 30 | -------------------------------------------------------------------------------- /configs/yolov7/yolov7_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov7_elannet.yml', 6 | '_base_/yolov7_reader.yml', 7 | ] 8 | log_iter: 100 9 | snapshot_epoch: 10 10 | weights: output/yolov7_x_300e_coco/model_final 11 | 12 | arch: X 13 | 14 | 15 | TrainReader: 16 | batch_size: 16 17 | -------------------------------------------------------------------------------- /configs/yolov7/yolov7p6_d6_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_p6.yml', 5 | '_base_/yolov7p6_elannet.yml', 6 | '_base_/yolov7p6_reader.yml', 7 | ] 8 | log_iter: 100 9 | snapshot_epoch: 10 10 | weights: output/yolov7p6_d6_300e_coco/model_final 11 | 12 | arch: D6 13 | use_aux: True 14 | 15 | 16 | TrainReader: 17 | batch_size: 8 18 | -------------------------------------------------------------------------------- /configs/yolov7/yolov7p6_e6_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_p6.yml', 5 | '_base_/yolov7p6_elannet.yml', 6 | '_base_/yolov7p6_reader.yml', 7 | ] 8 | log_iter: 100 9 | snapshot_epoch: 10 10 | weights: output/yolov7p6_e6_300e_coco/model_final 11 | 12 | arch: E6 13 | use_aux: True 14 | 15 | 16 | TrainReader: 17 | batch_size: 10 18 | -------------------------------------------------------------------------------- /configs/yolov7/yolov7p6_e6e_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_p6.yml', 5 | '_base_/yolov7p6_elannet.yml', 6 | '_base_/yolov7p6_reader.yml', 7 | ] 8 | log_iter: 100 9 | snapshot_epoch: 10 10 | weights: output/yolov7p6_e6e_300e_coco/model_final 11 | 12 | arch: E6E 13 | use_aux: True 14 | 15 | 16 | TrainReader: 17 | batch_size: 6 18 | -------------------------------------------------------------------------------- /configs/yolov7/yolov7p6_w6_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e_p6.yml', 5 | '_base_/yolov7p6_elannet.yml', 6 | '_base_/yolov7p6_reader.yml', 7 | ] 8 | log_iter: 100 9 | snapshot_epoch: 10 10 | weights: output/yolov7p6_w6_300e_coco/model_final 11 | 12 | arch: W6 13 | use_aux: True 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 18 | -------------------------------------------------------------------------------- /configs/yolov7u/README.md: -------------------------------------------------------------------------------- 1 | # YOLOv7u 2 | 3 | #### YOLOv7u 模型 4 | 5 | | 网络网络 | 输入尺寸 | 图片数/GPU | 学习率策略 | 模型推理耗时(ms) | mAPval
0.5:0.95 | mAPval
0.5 | Params(M) | FLOPs(G) | 下载链接 | 配置文件 | 6 | | :------------- | :------- | :-------: | :------: | :------------: | :---------------------: | :----------------: |:---------: | :------: |:---------------: |:-----: | 7 | | YOLOv7u-L | 640 | 16 | 300e | 9.0 | 52.1 | 68.8 | 43.59 | 130.10 |[下载链接](https://paddledet.bj.bcebos.com/models/yolov7u_l_300e_coco.pdparams) | [配置文件](./yolov7u_l_300e_coco.yml) | 8 | 9 | 10 | **注意:** 11 | - YOLOv7u 模型表示YOLOv7结构使用YOLOv8的head和loss,并结合YOLOR的ImplicitA和ImplicitM,是Anchor Free的检测方案; 12 | - YOLOv7u 模型训练使用COCO train2017作为训练集,Box AP为在COCO val2017上的`mAP(IoU=0.5:0.95)`结果; 13 | - 使用教程可参照[YOLOv7](../yolov7); 14 | -------------------------------------------------------------------------------- /configs/yolov7u/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.1 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.001 19 | type: L2 20 | -------------------------------------------------------------------------------- /configs/yolov7u/yolov7u_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_300e.yml', 5 | '_base_/yolov7u_elannet.yml', 6 | '_base_/yolov7u_reader.yml', 7 | ] 8 | log_iter: 100 9 | snapshot_epoch: 10 10 | weights: output/yolov7u_l_300e_coco/model_final 11 | 12 | arch: L 13 | 14 | 15 | TrainReader: 16 | batch_size: 8 #16 # default 8 gpus, total bs = 128 17 | -------------------------------------------------------------------------------- /configs/yolov8/_base_/optimizer_500e.yml: -------------------------------------------------------------------------------- 1 | epoch: 500 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 500 8 | min_lr_ratio: 0.01 9 | - !ExpWarmup 10 | epochs: 5 #3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | clip_grad_by_value: 10. 21 | -------------------------------------------------------------------------------- /configs/yolov8/_base_/optimizer_500e_high.yml: -------------------------------------------------------------------------------- 1 | epoch: 500 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 500 8 | min_lr_ratio: 0.1 # 9 | - !ExpWarmup 10 | epochs: 5 #3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | clip_grad_by_value: 10. 21 | -------------------------------------------------------------------------------- /configs/yolov8/_base_/yolov8_cspdarknet.yml: -------------------------------------------------------------------------------- 1 | architecture: YOLOv8 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 # default: L version 10 | width_mult: 1.0 11 | 12 | YOLOv8: 13 | backbone: YOLOv8CSPDarkNet 14 | neck: YOLOv8CSPPAN 15 | yolo_head: YOLOv8Head 16 | post_process: ~ 17 | 18 | YOLOv8CSPDarkNet: 19 | arch: 'P5' 20 | return_idx: [2, 3, 4] 21 | last_stage_ch: 1024 22 | last2_stage_ch: 512 23 | 24 | # use default config 25 | # YOLOv8CSPPAN: 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: 3000 38 | keep_top_k: 300 39 | score_threshold: 0.001 40 | nms_threshold: 0.7 41 | -------------------------------------------------------------------------------- /configs/yolov8/_base_/yolov8p6_cspdarknet.yml: -------------------------------------------------------------------------------- 1 | architecture: YOLOv8 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 # default: L version 10 | width_mult: 1.0 11 | 12 | YOLOv8: 13 | backbone: YOLOv8CSPDarkNet 14 | neck: YOLOv8CSPPANP6 15 | yolo_head: YOLOv8Head 16 | post_process: ~ 17 | 18 | YOLOv8CSPDarkNet: 19 | arch: 'P6' 20 | return_idx: [2, 3, 4, 5] 21 | last_stage_ch: 1024 22 | last2_stage_ch: 768 23 | 24 | # use default config 25 | # YOLOv8CSPPANP6: 26 | 27 | YOLOv8Head: 28 | fpn_strides: [8, 16, 32, 64] 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 41 | -------------------------------------------------------------------------------- /configs/yolov8/openimagev7/yolov8_l_100e_oiv7.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/openimagesv7_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_100e.yml', 5 | '../_base_/yolov8_cspdarknet.yml', 6 | '../_base_/yolov8_reader_high_aug.yml', 7 | ] 8 | depth_mult: 1.0 9 | width_mult: 1.0 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_l_100e_oiv7/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5 18 | 19 | YOLOv8Head: 20 | customized_c3: 256 21 | 22 | 23 | TrainReader: 24 | batch_size: 16 # default 8 gpus, total bs = 128 25 | -------------------------------------------------------------------------------- /configs/yolov8/openimagev7/yolov8_m_100e_oiv7.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/openimagesv7_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_100e.yml', 5 | '../_base_/yolov8_cspdarknet.yml', 6 | '../_base_/yolov8_reader_high_aug.yml', 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 0.75 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_m_100e_oiv7/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 768 # The actual channel is int(768 * width_mult), not int(1024 * width_mult) as in YOLOv5 18 | 19 | YOLOv8Head: 20 | customized_c3: 192 21 | 22 | 23 | TrainReader: 24 | batch_size: 16 # default 8 gpus, total bs = 128 25 | -------------------------------------------------------------------------------- /configs/yolov8/openimagev7/yolov8_n_100e_oiv7.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/openimagesv7_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_100e.yml', 5 | '../_base_/yolov8_cspdarknet.yml', 6 | '../_base_/yolov8_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_n_100e_oiv7/model_final 14 | 15 | 16 | YOLOv8Head: 17 | customized_c3: 100 18 | 19 | 20 | TrainReader: 21 | batch_size: 16 # default 8 gpus, total bs = 128 22 | -------------------------------------------------------------------------------- /configs/yolov8/openimagev7/yolov8_s_100e_oiv7.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/openimagesv7_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_100e.yml', 5 | '../_base_/yolov8_cspdarknet.yml', 6 | '../_base_/yolov8_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.50 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_s_100e_oiv7/model_final 14 | 15 | 16 | YOLOv8Head: 17 | customized_c3: 128 18 | 19 | 20 | TrainReader: 21 | batch_size: 16 # default 8 gpus, total bs = 128 22 | -------------------------------------------------------------------------------- /configs/yolov8/openimagev7/yolov8_x_100e_oiv7.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../../datasets/openimagesv7_detection.yml', 3 | '../../runtime.yml', 4 | '../_base_/optimizer_100e.yml', 5 | '../_base_/yolov8_cspdarknet.yml', 6 | '../_base_/yolov8_reader_high_aug.yml', 7 | ] 8 | depth_mult: 1.0 # not 1.33 as in YOLOv5 9 | width_mult: 1.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_x_100e_oiv7/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5 18 | 19 | YOLOv8Head: 20 | customized_c3: 320 21 | 22 | TrainReader: 23 | batch_size: 16 # default 8 gpus, total bs = 128 24 | -------------------------------------------------------------------------------- /configs/yolov8/yolov8_l_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e_high.yml', 5 | '_base_/yolov8_cspdarknet.yml', 6 | '_base_/yolov8_reader_high_aug.yml', 7 | ] 8 | depth_mult: 1.0 9 | width_mult: 1.0 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_l_500e_coco/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5 18 | 19 | 20 | TrainReader: 21 | batch_size: 16 # default 8 gpus, total bs = 128 22 | -------------------------------------------------------------------------------- /configs/yolov8/yolov8_m_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e_high.yml', 5 | '_base_/yolov8_cspdarknet.yml', 6 | '_base_/yolov8_reader_high_aug.yml', 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 0.75 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_m_500e_coco/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 768 # The actual channel is int(768 * width_mult), not int(1024 * width_mult) as in YOLOv5 18 | 19 | 20 | TrainReader: 21 | batch_size: 16 # default 8 gpus, total bs = 128 22 | -------------------------------------------------------------------------------- /configs/yolov8/yolov8_n_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e.yml', 5 | '_base_/yolov8_cspdarknet.yml', 6 | '_base_/yolov8_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_n_500e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov8/yolov8_s_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e.yml', 5 | '_base_/yolov8_cspdarknet.yml', 6 | '_base_/yolov8_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.50 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_s_500e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | -------------------------------------------------------------------------------- /configs/yolov8/yolov8_x_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e_high.yml', 5 | '_base_/yolov8_cspdarknet.yml', 6 | '_base_/yolov8_reader_high_aug.yml', 7 | ] 8 | depth_mult: 1.0 # not 1.33 as in YOLOv5 9 | width_mult: 1.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_x_500e_coco/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5 18 | 19 | 20 | TrainReader: 21 | batch_size: 16 # default 8 gpus, total bs = 128 22 | -------------------------------------------------------------------------------- /configs/yolov8/yolov8p6_x_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e_high.yml', 5 | '_base_/yolov8p6_cspdarknet.yml', 6 | '_base_/yolov8p6_reader.yml', 7 | ] 8 | depth_mult: 1.0 # not 1.33 as in YOLOv5-P6 9 | width_mult: 1.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8p6_x_500e_coco/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5-P6 18 | last2_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(768 * width_mult) as in YOLOv5-P6 19 | 20 | 21 | TrainReader: 22 | batch_size: 16 # default 8 gpus, total bs = 128 23 | -------------------------------------------------------------------------------- /configs/yolov8_seg/_base_/optimizer_100e.yml: -------------------------------------------------------------------------------- 1 | epoch: 100 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 100 8 | min_lr_ratio: 0.01 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | clip_grad_by_value: 10. 21 | -------------------------------------------------------------------------------- /configs/yolov8_seg/_base_/optimizer_500e.yml: -------------------------------------------------------------------------------- 1 | epoch: 500 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 500 8 | min_lr_ratio: 0.01 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | clip_grad_by_value: 10. 21 | -------------------------------------------------------------------------------- /configs/yolov8_seg/_base_/optimizer_500e_high.yml: -------------------------------------------------------------------------------- 1 | epoch: 500 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !YOLOv5LRDecay 7 | max_epochs: 500 8 | min_lr_ratio: 0.1 # 9 | - !ExpWarmup 10 | epochs: 3 11 | 12 | OptimizerBuilder: 13 | optimizer: 14 | type: Momentum 15 | momentum: 0.937 16 | use_nesterov: True 17 | regularizer: 18 | factor: 0.0005 19 | type: L2 20 | clip_grad_by_value: 10. 21 | -------------------------------------------------------------------------------- /configs/yolov8_seg/yolov8_seg_l_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e_high.yml', 5 | '_base_/yolov8_seg_cspdarknet.yml', 6 | '_base_/yolov8_seg_reader_high_aug.yml', 7 | ] 8 | depth_mult: 1.0 9 | width_mult: 1.0 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_seg_l_500e_coco/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5 18 | 19 | 20 | TrainReader: 21 | batch_size: 16 # default 8 gpus, total bs = 128 22 | 23 | EvalReader: 24 | batch_size: 1 25 | -------------------------------------------------------------------------------- /configs/yolov8_seg/yolov8_seg_m_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e_high.yml', 5 | '_base_/yolov8_seg_cspdarknet.yml', 6 | '_base_/yolov8_seg_reader_high_aug.yml', 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 0.75 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_seg_m_500e_coco/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 768 # The actual channel is int(768 * width_mult), not int(1024 * width_mult) as in YOLOv5 18 | 19 | 20 | TrainReader: 21 | batch_size: 16 # default 8 gpus, total bs = 128 22 | 23 | EvalReader: 24 | batch_size: 1 25 | -------------------------------------------------------------------------------- /configs/yolov8_seg/yolov8_seg_n_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_100e.yml', 5 | '_base_/yolov8_seg_cspdarknet.yml', 6 | '_base_/yolov8_seg_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_seg_n_500e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | 19 | EvalReader: 20 | batch_size: 1 21 | -------------------------------------------------------------------------------- /configs/yolov8_seg/yolov8_seg_s_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e.yml', 5 | '_base_/yolov8_seg_cspdarknet.yml', 6 | '_base_/yolov8_seg_reader.yml', 7 | ] 8 | depth_mult: 0.33 9 | width_mult: 0.50 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_seg_s_500e_coco/model_final 14 | 15 | 16 | TrainReader: 17 | batch_size: 16 # default 8 gpus, total bs = 128 18 | 19 | EvalReader: 20 | batch_size: 1 21 | -------------------------------------------------------------------------------- /configs/yolov8_seg/yolov8_seg_x_500e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_instance.yml', 3 | '../runtime.yml', 4 | '_base_/optimizer_500e_high.yml', 5 | '_base_/yolov8_seg_cspdarknet.yml', 6 | '_base_/yolov8_seg_reader_high_aug.yml', 7 | ] 8 | depth_mult: 1.0 # not 1.33 as in YOLOv5 9 | width_mult: 1.25 10 | 11 | log_iter: 50 12 | snapshot_epoch: 10 13 | weights: output/yolov8_seg_x_500e_coco/model_final 14 | 15 | 16 | YOLOv8CSPDarkNet: 17 | last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5 18 | 19 | 20 | TrainReader: 21 | batch_size: 16 # default 8 gpus, total bs = 128 22 | 23 | EvalReader: 24 | batch_size: 1 25 | -------------------------------------------------------------------------------- /configs/yolox/_base_/optimizer_300e.yml: -------------------------------------------------------------------------------- 1 | epoch: 300 2 | 3 | LearningRate: 4 | base_lr: 0.01 5 | schedulers: 6 | - !CosineDecay 7 | max_epochs: 300 8 | min_lr_ratio: 0.05 9 | last_plateau_epochs: 15 10 | - !ExpWarmup 11 | epochs: 5 12 | 13 | OptimizerBuilder: 14 | optimizer: 15 | type: Momentum 16 | momentum: 0.9 17 | use_nesterov: True 18 | regularizer: 19 | factor: 0.0005 20 | type: L2 21 | -------------------------------------------------------------------------------- /configs/yolox/yolox_cdn_tiny_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | 'yolox_tiny_300e_coco.yml' 3 | ] 4 | depth_mult: 0.33 5 | width_mult: 0.375 6 | 7 | log_iter: 100 8 | snapshot_epoch: 10 9 | weights: output/yolox_cdn_tiny_300e_coco/model_final 10 | 11 | CSPDarkNet: 12 | arch: "P5" # using the same backbone of YOLOv5 releases v6.0 and later version 13 | return_idx: [2, 3, 4] 14 | depthwise: False 15 | -------------------------------------------------------------------------------- /configs/yolox/yolox_crn_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/yolox_cspdarknet.yml', 6 | './_base_/yolox_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/yolox_crn_s_300e_coco/model_final 14 | pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/CSPResNetb_s_pretrained.pdparams 15 | 16 | 17 | YOLOX: 18 | backbone: CSPResNet 19 | neck: YOLOCSPPAN 20 | head: YOLOXHead 21 | size_stride: 32 22 | size_range: [15, 25] # multi-scale range [480*480 ~ 800*800] 23 | 24 | CSPResNet: 25 | layers: [3, 6, 6, 3] 26 | channels: [64, 128, 256, 512, 1024] 27 | return_idx: [1, 2, 3] 28 | use_large_stem: True 29 | -------------------------------------------------------------------------------- /configs/yolox/yolox_l_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/yolox_cspdarknet.yml', 6 | './_base_/yolox_reader.yml' 7 | ] 8 | depth_mult: 1.0 9 | width_mult: 1.0 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/yolox_l_300e_coco/model_final 14 | -------------------------------------------------------------------------------- /configs/yolox/yolox_m_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/yolox_cspdarknet.yml', 6 | './_base_/yolox_reader.yml' 7 | ] 8 | depth_mult: 0.67 9 | width_mult: 0.75 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/yolox_m_300e_coco/model_final 14 | -------------------------------------------------------------------------------- /configs/yolox/yolox_s_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/yolox_cspdarknet.yml', 6 | './_base_/yolox_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/yolox_s_300e_coco/model_final 14 | -------------------------------------------------------------------------------- /configs/yolox/yolox_x_300e_coco.yml: -------------------------------------------------------------------------------- 1 | _BASE_: [ 2 | '../datasets/coco_detection.yml', 3 | '../runtime.yml', 4 | './_base_/optimizer_300e.yml', 5 | './_base_/yolox_cspdarknet.yml', 6 | './_base_/yolox_reader.yml' 7 | ] 8 | depth_mult: 1.33 9 | width_mult: 1.25 10 | 11 | log_iter: 100 12 | snapshot_epoch: 10 13 | weights: output/yolox_x_300e_coco/model_final 14 | -------------------------------------------------------------------------------- /dataset/roadsign_voc/label_list.txt: -------------------------------------------------------------------------------- 1 | speedlimit 2 | crosswalk 3 | trafficlight 4 | stop -------------------------------------------------------------------------------- /dataset/voc/label_list.txt: -------------------------------------------------------------------------------- 1 | aeroplane 2 | bicycle 3 | bird 4 | boat 5 | bottle 6 | bus 7 | car 8 | cat 9 | chair 10 | cow 11 | diningtable 12 | dog 13 | horse 14 | motorbike 15 | person 16 | pottedplant 17 | sheep 18 | sofa 19 | train 20 | tvmonitor 21 | -------------------------------------------------------------------------------- /demo/000000014439.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/demo/000000014439.jpg -------------------------------------------------------------------------------- /demo/000000014439_640x640.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/demo/000000014439_640x640.jpg -------------------------------------------------------------------------------- /demo/000000087038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/demo/000000087038.jpg -------------------------------------------------------------------------------- /demo/000000570688.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/demo/000000570688.jpg -------------------------------------------------------------------------------- /demo/road554.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/demo/road554.png -------------------------------------------------------------------------------- /demo/visdrone_0000315_01601_d_0000509.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/demo/visdrone_0000315_01601_d_0000509.jpg -------------------------------------------------------------------------------- /deploy/auto_compression/configs/picodet_reader.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 80 3 | 4 | 5 | # Datset configuration 6 | TrainDataset: 7 | !COCODataSet 8 | image_dir: train2017 9 | anno_path: annotations/instances_train2017.json 10 | dataset_dir: dataset/coco/ 11 | 12 | EvalDataset: 13 | !COCODataSet 14 | image_dir: val2017 15 | anno_path: annotations/instances_val2017.json 16 | dataset_dir: dataset/coco/ 17 | 18 | worker_num: 6 19 | eval_height: &eval_height 416 20 | eval_width: &eval_width 416 21 | eval_size: &eval_size [*eval_height, *eval_width] 22 | 23 | EvalReader: 24 | sample_transforms: 25 | - Decode: {} 26 | - Resize: {interp: 2, target_size: *eval_size, keep_ratio: False} 27 | - NormalizeImage: {mean: [0, 0, 0], std: [1, 1, 1], is_scale: True} 28 | - Permute: {} 29 | batch_transforms: 30 | - PadBatch: {pad_to_stride: 32} 31 | batch_size: 8 32 | shuffle: false 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/picodet_s_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | Global: 2 | reader_config: ./configs/picodet_reader.yml 3 | include_nms: True 4 | Evaluation: True 5 | model_dir: ./picodet_s_416_coco_npu/ 6 | model_filename: model.pdmodel 7 | params_filename: model.pdiparams 8 | 9 | Distillation: 10 | alpha: 1.0 11 | loss: l2 12 | 13 | QuantAware: 14 | use_pact: true 15 | activation_quantize_type: 'moving_average_abs_max' 16 | weight_bits: 8 17 | activation_bits: 8 18 | quantize_op_types: 19 | - conv2d 20 | - depthwise_conv2d 21 | 22 | TrainConfig: 23 | train_iter: 8000 24 | eval_iter: 1000 25 | learning_rate: 26 | type: CosineAnnealingDecay 27 | learning_rate: 0.00001 28 | T_max: 8000 29 | optimizer_builder: 30 | optimizer: 31 | type: SGD 32 | weight_decay: 4.0e-05 33 | 34 | 35 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_crn_l_80e_sliced_visdrone_640_025_qat.yml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/ppyoloe_crn_l_80e_sliced_visdrone_640_025_reader.yml 4 | input_list: ['image', 'scale_factor'] 5 | arch: YOLO 6 | include_nms: True 7 | Evaluation: True 8 | model_dir: ../../output_inference/ppyoloe_crn_l_80e_sliced_visdrone_640_025 9 | model_filename: model.pdmodel 10 | params_filename: model.pdiparams 11 | 12 | Distillation: 13 | alpha: 1.0 14 | loss: soft_label 15 | 16 | QuantAware: 17 | onnx_format: True 18 | use_pact: False 19 | activation_quantize_type: 'moving_average_abs_max' 20 | quantize_op_types: 21 | - conv2d 22 | - depthwise_conv2d 23 | 24 | TrainConfig: 25 | train_iter: 8000 26 | eval_iter: 500 27 | learning_rate: 28 | type: CosineAnnealingDecay 29 | learning_rate: 0.00003 30 | T_max: 6000 31 | optimizer_builder: 32 | optimizer: 33 | type: SGD 34 | weight_decay: 4.0e-05 35 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_crn_l_80e_sliced_visdrone_640_025_reader.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 10 3 | 4 | # Datset configuration 5 | TrainDataset: 6 | !COCODataSet 7 | image_dir: train_images_640_025 8 | anno_path: train_640_025.json 9 | dataset_dir: dataset/visdrone_sliced 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: val_images_640_025 14 | anno_path: val_640_025.json 15 | dataset_dir: dataset/visdrone_sliced 16 | worker_num: 0 17 | 18 | # preprocess reader in test 19 | EvalReader: 20 | sample_transforms: 21 | - Decode: {} 22 | - Resize: {target_size: [640, 640], keep_ratio: False, interp: 2} 23 | #- NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none} 24 | - Permute: {} 25 | batch_size: 16 26 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_l_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/ppyoloe_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./ppyoloe_crn_l_300e_coco 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | use_pact: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | 21 | TrainConfig: 22 | train_iter: 5000 23 | eval_iter: 1000 24 | learning_rate: 25 | type: CosineAnnealingDecay 26 | learning_rate: 0.00003 27 | T_max: 6000 28 | optimizer_builder: 29 | optimizer: 30 | type: SGD 31 | weight_decay: 4.0e-05 32 | 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_plus_crn_t_auxhead_300e_coco_qat.yml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/ppyoloe_plus_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ../../output_inference/ppyoloe_plus_crn_t_auxhead_300e_coco/ 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | onnx_format: True 16 | use_pact: False 17 | activation_quantize_type: 'moving_average_abs_max' 18 | quantize_op_types: 19 | - conv2d 20 | - depthwise_conv2d 21 | 22 | TrainConfig: 23 | train_iter: 8000 24 | eval_iter: 1000 25 | learning_rate: 26 | type: CosineAnnealingDecay 27 | learning_rate: 0.00003 28 | T_max: 6000 29 | optimizer_builder: 30 | optimizer: 31 | type: SGD 32 | weight_decay: 4.0e-05 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_plus_l_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/ppyoloe_plus_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./ppyoloe_plus_crn_l_80e_coco 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | use_pact: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | 21 | TrainConfig: 22 | train_iter: 5000 23 | eval_iter: 1000 24 | learning_rate: 25 | type: CosineAnnealingDecay 26 | learning_rate: 0.00003 27 | T_max: 6000 28 | optimizer_builder: 29 | optimizer: 30 | type: SGD 31 | weight_decay: 4.0e-05 32 | 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_plus_m_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/ppyoloe_plus_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./ppyoloe_plus_crn_m_80e_coco 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | use_pact: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | 21 | TrainConfig: 22 | train_iter: 5000 23 | eval_iter: 1000 24 | learning_rate: 25 | type: CosineAnnealingDecay 26 | learning_rate: 0.00003 27 | T_max: 6000 28 | optimizer_builder: 29 | optimizer: 30 | type: SGD 31 | weight_decay: 4.0e-05 32 | 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_plus_reader.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 80 3 | 4 | # Datset configuration 5 | TrainDataset: 6 | !COCODataSet 7 | image_dir: train2017 8 | anno_path: annotations/instances_train2017.json 9 | dataset_dir: dataset/coco/ 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: val2017 14 | anno_path: annotations/instances_val2017.json 15 | dataset_dir: dataset/coco/ 16 | 17 | worker_num: 0 18 | 19 | # preprocess reader in test 20 | EvalReader: 21 | sample_transforms: 22 | - Decode: {} 23 | - Resize: {target_size: [640, 640], keep_ratio: False, interp: 2} 24 | - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none} 25 | - Permute: {} 26 | batch_size: 4 27 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_plus_s_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/ppyoloe_plus_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./ppyoloe_plus_crn_s_80e_coco 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | use_pact: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | 21 | TrainConfig: 22 | train_iter: 5000 23 | eval_iter: 1000 24 | learning_rate: 25 | type: CosineAnnealingDecay 26 | learning_rate: 0.00003 27 | T_max: 6000 28 | optimizer_builder: 29 | optimizer: 30 | type: SGD 31 | weight_decay: 4.0e-05 32 | 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_plus_sod_crn_l_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/ppyoloe_plus_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ../../output_inference/ppyoloe_plus_sod_crn_l_80e_coco 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | onnx_format: True 16 | use_pact: true 17 | activation_quantize_type: 'moving_average_abs_max' 18 | quantize_op_types: 19 | - conv2d 20 | - depthwise_conv2d 21 | 22 | TrainConfig: 23 | train_iter: 1 24 | eval_iter: 1 25 | learning_rate: 26 | type: CosineAnnealingDecay 27 | learning_rate: 0.00003 28 | T_max: 6000 29 | optimizer_builder: 30 | optimizer: 31 | type: SGD 32 | weight_decay: 4.0e-05 33 | 34 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_plus_x_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/ppyoloe_plus_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./ppyoloe_plus_crn_x_80e_coco 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | use_pact: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | 21 | TrainConfig: 22 | train_iter: 5000 23 | eval_iter: 1000 24 | learning_rate: 25 | type: CosineAnnealingDecay 26 | learning_rate: 0.00003 27 | T_max: 6000 28 | optimizer_builder: 29 | optimizer: 30 | type: SGD 31 | weight_decay: 4.0e-05 32 | 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/ppyoloe_reader.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 80 3 | 4 | # Datset configuration 5 | TrainDataset: 6 | !COCODataSet 7 | image_dir: train2017 8 | anno_path: annotations/instances_train2017.json 9 | dataset_dir: dataset/coco/ 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: val2017 14 | anno_path: annotations/instances_val2017.json 15 | dataset_dir: dataset/coco/ 16 | 17 | worker_num: 0 18 | 19 | # preprocess reader in test 20 | EvalReader: 21 | sample_transforms: 22 | - Decode: {} 23 | - Resize: {target_size: [640, 640], keep_ratio: False, interp: 2} 24 | - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} 25 | - Permute: {} 26 | batch_size: 4 27 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/rtdetr_hgnetv2_l_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/rtdetr_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./rtdetr_hgnetv2_l_6x_coco/ 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | onnx_format: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | - matmul_v2 21 | 22 | TrainConfig: 23 | train_iter: 200 24 | eval_iter: 50 25 | learning_rate: 26 | type: CosineAnnealingDecay 27 | learning_rate: 0.00003 28 | T_max: 10000 29 | optimizer_builder: 30 | optimizer: 31 | type: SGD 32 | weight_decay: 4.0e-05 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/rtdetr_hgnetv2_x_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/rtdetr_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./rtdetr_r50vd_6x_coco/ 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | onnx_format: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | - matmul_v2 21 | 22 | TrainConfig: 23 | train_iter: 500 24 | eval_iter: 100 25 | learning_rate: 26 | type: CosineAnnealingDecay 27 | learning_rate: 0.00003 28 | T_max: 10000 29 | optimizer_builder: 30 | optimizer: 31 | type: SGD 32 | weight_decay: 4.0e-05 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/rtdetr_r101vd_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/rtdetr_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./rtdetr_hgnetv2_x_6x_coco/ 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | onnx_format: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | - matmul_v2 21 | 22 | TrainConfig: 23 | train_iter: 200 24 | eval_iter: 50 25 | learning_rate: 26 | type: CosineAnnealingDecay 27 | learning_rate: 0.00003 28 | T_max: 10000 29 | optimizer_builder: 30 | optimizer: 31 | type: SGD 32 | weight_decay: 4.0e-05 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/rtdetr_r50vd_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/rtdetr_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./rtdetr_r50vd_6x_coco/ 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | onnx_format: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | - matmul_v2 21 | 22 | TrainConfig: 23 | train_iter: 500 24 | eval_iter: 100 25 | learning_rate: 26 | type: CosineAnnealingDecay 27 | learning_rate: 0.00003 28 | T_max: 10000 29 | optimizer_builder: 30 | optimizer: 31 | type: SGD 32 | weight_decay: 4.0e-05 33 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/rtdetr_reader.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 80 3 | 4 | # Datset configuration 5 | TrainDataset: 6 | !COCODataSet 7 | image_dir: train2017 8 | anno_path: annotations/instances_train2017.json 9 | dataset_dir: dataset/coco/ 10 | !COCODataSet 11 | image_dir: val2017 12 | anno_path: annotations/instances_val2017.json 13 | dataset_dir: dataset/coco/ 14 | 15 | worker_num: 0 16 | 17 | # preprocess reader in test 18 | EvalReader: 19 | sample_transforms: 20 | - Decode: {} 21 | - Resize: {target_size: [640, 640], keep_ratio: False, interp: 2} 22 | - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none} 23 | - Permute: {} 24 | batch_size: 1 25 | shuffle: false 26 | drop_last: false 27 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/yolov5_reader.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 80 3 | 4 | # Datset configuration 5 | TrainDataset: 6 | !COCODataSet 7 | image_dir: train2017 8 | anno_path: annotations/instances_train2017.json 9 | dataset_dir: dataset/coco/ 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: val2017 14 | anno_path: annotations/instances_val2017.json 15 | dataset_dir: dataset/coco/ 16 | 17 | worker_num: 0 18 | 19 | # preprocess reader in test 20 | TestReader: 21 | sample_transforms: 22 | - Decode: {} 23 | - Resize: {target_size: [640, 640], keep_ratio: True, interp: 1} 24 | - Pad: {size: [640, 640], fill_value: [114., 114., 114.]} 25 | - Permute: {} 26 | batch_size: 1 27 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/yolov5_s_qat_dis.yml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/yolov5_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./yolov5_s_300e_coco 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | use_pact: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | 21 | TrainConfig: 22 | train_iter: 3000 23 | eval_iter: 1000 24 | learning_rate: 0.00001 25 | optimizer_builder: 26 | optimizer: 27 | type: SGD 28 | weight_decay: 4.0e-05 29 | target_metric: 0.365 30 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/yolov6mt_s_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/yolov5_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./yolov6mt_s_400e_coco 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | activation_quantize_type: 'moving_average_abs_max' 16 | quantize_op_types: 17 | - conv2d 18 | - depthwise_conv2d 19 | 20 | TrainConfig: 21 | train_iter: 8000 22 | eval_iter: 1000 23 | learning_rate: 24 | type: CosineAnnealingDecay 25 | learning_rate: 0.00003 26 | T_max: 8000 27 | optimizer_builder: 28 | optimizer: 29 | type: SGD 30 | weight_decay: 0.00004 31 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/yolov7_l_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/yolov5_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./yolov7_l_300e_coco 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | activation_quantize_type: 'moving_average_abs_max' 16 | quantize_op_types: 17 | - conv2d 18 | - depthwise_conv2d 19 | 20 | TrainConfig: 21 | train_iter: 8000 22 | eval_iter: 1000 23 | learning_rate: 24 | type: CosineAnnealingDecay 25 | learning_rate: 0.00003 26 | T_max: 8000 27 | optimizer_builder: 28 | optimizer: 29 | type: SGD 30 | weight_decay: 0.00004 -------------------------------------------------------------------------------- /deploy/auto_compression/configs/yolov8_reader.yml: -------------------------------------------------------------------------------- 1 | metric: COCO 2 | num_classes: 80 3 | 4 | # Dataset configuration 5 | TrainDataset: 6 | !COCODataSet 7 | image_dir: train2017 8 | anno_path: annotations/instances_train2017.json 9 | dataset_dir: dataset/coco/ 10 | 11 | EvalDataset: 12 | !COCODataSet 13 | image_dir: val2017 14 | anno_path: annotations/instances_val2017.json 15 | dataset_dir: dataset/coco/ 16 | 17 | worker_num: 0 18 | 19 | # preprocess reader in test 20 | EvalReader: 21 | sample_transforms: 22 | - Decode: {} 23 | - Resize: {target_size: [640, 640], keep_ratio: True, interp: 1} 24 | - Pad: {size: [640, 640], fill_value: [114., 114., 114.]} 25 | - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none} 26 | - Permute: {} 27 | batch_size: 4 28 | -------------------------------------------------------------------------------- /deploy/auto_compression/configs/yolov8_s_qat_dis.yaml: -------------------------------------------------------------------------------- 1 | 2 | Global: 3 | reader_config: configs/yolov8_reader.yml 4 | include_nms: True 5 | Evaluation: True 6 | model_dir: ./yolov8_s_500e_coco_trt_nms/ 7 | model_filename: model.pdmodel 8 | params_filename: model.pdiparams 9 | 10 | Distillation: 11 | alpha: 1.0 12 | loss: soft_label 13 | 14 | QuantAware: 15 | onnx_format: true 16 | activation_quantize_type: 'moving_average_abs_max' 17 | quantize_op_types: 18 | - conv2d 19 | - depthwise_conv2d 20 | 21 | TrainConfig: 22 | train_iter: 8000 23 | eval_iter: 1000 24 | learning_rate: 25 | type: CosineAnnealingDecay 26 | learning_rate: 0.00003 27 | T_max: 10000 28 | optimizer_builder: 29 | optimizer: 30 | type: SGD 31 | weight_decay: 4.0e-05 32 | 33 | -------------------------------------------------------------------------------- /deploy/benchmark/benchmark_quant.sh: -------------------------------------------------------------------------------- 1 | # All rights `PaddleDetection` reserved 2 | #!/bin/bash 3 | model_dir=$1 4 | model_name=$2 5 | 6 | export img_dir="demo" 7 | export log_path="output_pipeline" 8 | 9 | 10 | echo "model_dir : ${model_dir}" 11 | echo "img_dir: ${img_dir}" 12 | 13 | # TODO: support batch size>1 14 | for run_mode in "trt_int8"; do 15 | echo "${model_name} ${model_dir}, run_mode: ${run_mode}" 16 | python deploy/python/infer.py \ 17 | --model_dir=${model_dir} \ 18 | --run_benchmark=True \ 19 | --device=GPU \ 20 | --run_mode=${run_mode} \ 21 | --image_dir=${img_dir} 2>&1 | tee ${log_path}/${model_name}_gpu_runmode_${run_mode}_bs1_infer.log 22 | done 23 | 24 | -------------------------------------------------------------------------------- /deploy/lite/convert_yml_to_json.py: -------------------------------------------------------------------------------- 1 | import yaml 2 | import json 3 | import sys 4 | 5 | yamlf = sys.argv[1] 6 | 7 | assert yamlf.endswith(".yml") 8 | 9 | with open(yamlf, 'r') as rf: 10 | yaml_data = yaml.safe_load(rf) 11 | 12 | jsonf = yamlf[:-4] + ".json" 13 | with open(jsonf, 'w') as wf: 14 | json.dump(yaml_data, wf, indent=4) 15 | -------------------------------------------------------------------------------- /deploy/lite/det_runtime_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "model_dir_det": "./model_det/", 3 | "batch_size_det": 1, 4 | "threshold_det": 0.5, 5 | "image_file": "./demo.jpg", 6 | "image_dir": "", 7 | "run_benchmark": false, 8 | "cpu_threads": 4 9 | } 10 | -------------------------------------------------------------------------------- /deploy/lite/keypoint_runtime_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "model_dir_det": "./model_det/", 3 | "batch_size_det": 1, 4 | "threshold_det": 0.5, 5 | "model_dir_keypoint": "./model_keypoint/", 6 | "batch_size_keypoint": 8, 7 | "threshold_keypoint": 0.5, 8 | "image_file": "./demo.jpg", 9 | "image_dir": "", 10 | "run_benchmark": false, 11 | "cpu_threads": 4, 12 | "use_dark_decode": true 13 | } 14 | -------------------------------------------------------------------------------- /deploy/serving/cpp/serving_client_conf.prototxt: -------------------------------------------------------------------------------- 1 | feed_var { 2 | name: "input" 3 | alias_name: "input" 4 | is_lod_tensor: false 5 | feed_type: 20 6 | shape: 1 7 | } 8 | fetch_var { 9 | name: "multiclass_nms3_0.tmp_0" 10 | alias_name: "multiclass_nms3_0.tmp_0" 11 | is_lod_tensor: true 12 | fetch_type: 1 13 | shape: -1 14 | } 15 | fetch_var { 16 | name: "multiclass_nms3_0.tmp_2" 17 | alias_name: "multiclass_nms3_0.tmp_2" 18 | is_lod_tensor: false 19 | fetch_type: 2 20 | } -------------------------------------------------------------------------------- /deploy/third_engine/demo_avh/.gitignore: -------------------------------------------------------------------------------- 1 | include/inputs.h 2 | include/outputs.h 3 | 4 | __pycache__/ 5 | build/ -------------------------------------------------------------------------------- /deploy/third_engine/demo_avh/image/000000014439_640x640.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/deploy/third_engine/demo_avh/image/000000014439_640x640.jpg -------------------------------------------------------------------------------- /deploy/third_engine/demo_avh/requirements.txt: -------------------------------------------------------------------------------- 1 | paddlepaddle 2 | numpy 3 | opencv-python 4 | -------------------------------------------------------------------------------- /deploy/third_engine/demo_mnn/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.9) 2 | project(picodet-mnn) 3 | 4 | set(CMAKE_CXX_STANDARD 17) 5 | set(MNN_DIR PATHS "./mnn") 6 | 7 | # find_package(OpenCV REQUIRED PATHS "/work/dependence/opencv/opencv-3.4.3/build") 8 | find_package(OpenCV REQUIRED) 9 | include_directories( 10 | ${MNN_DIR}/include 11 | ${MNN_DIR}/include/MNN 12 | ${CMAKE_SOURCE_DIR} 13 | ) 14 | link_directories(mnn/lib) 15 | 16 | add_library(libMNN SHARED IMPORTED) 17 | set_target_properties( 18 | libMNN 19 | PROPERTIES IMPORTED_LOCATION 20 | ${CMAKE_SOURCE_DIR}/mnn/lib/libMNN.so 21 | ) 22 | add_executable(picodet-mnn main.cpp picodet_mnn.cpp) 23 | target_link_libraries(picodet-mnn MNN ${OpenCV_LIBS} libMNN.so) 24 | -------------------------------------------------------------------------------- /deploy/third_engine/demo_mnn_kpts/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.9) 2 | 3 | project(tinypose-mnn) 4 | 5 | set(CMAKE_CXX_STANDARD 17) 6 | set(MNN_DIR {YOUR_MNN_DIR}) 7 | 8 | find_package(OpenCV REQUIRED) 9 | 10 | include_directories( 11 | ${MNN_DIR}/include 12 | ${MNN_DIR}/include/MNN 13 | ${CMAKE_SOURCE_DIR} 14 | ) 15 | link_directories(mnn/lib) 16 | 17 | add_library(libMNN SHARED IMPORTED) 18 | set_target_properties( 19 | libMNN 20 | PROPERTIES IMPORTED_LOCATION 21 | ${CMAKE_SOURCE_DIR}/mnn/lib/libMNN.so 22 | ) 23 | add_executable(tinypose-mnn main.cpp picodet_mnn.cpp keypoint_detector.cpp keypoint_postprocess.cpp) 24 | 25 | target_link_libraries(tinypose-mnn MNN ${OpenCV_LIBS} libMNN.so) 26 | 27 | -------------------------------------------------------------------------------- /deploy/third_engine/demo_onnxruntime/imgs/bus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/deploy/third_engine/demo_onnxruntime/imgs/bus.jpg -------------------------------------------------------------------------------- /deploy/third_engine/demo_onnxruntime/imgs/dog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/deploy/third_engine/demo_onnxruntime/imgs/dog.jpg -------------------------------------------------------------------------------- /deploy/third_engine/demo_openvino/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.4.1) 2 | set(CMAKE_CXX_STANDARD 14) 3 | 4 | project(picodet_demo) 5 | 6 | find_package(OpenCV REQUIRED) 7 | find_package(InferenceEngine REQUIRED) 8 | find_package(ngraph REQUIRED) 9 | 10 | include_directories( 11 | ${OpenCV_INCLUDE_DIRS} 12 | ${CMAKE_CURRENT_SOURCE_DIR} 13 | ${CMAKE_CURRENT_BINARY_DIR} 14 | ) 15 | 16 | add_executable(picodet_demo main.cpp picodet_openvino.cpp) 17 | 18 | target_link_libraries( 19 | picodet_demo 20 | ${InferenceEngine_LIBRARIES} 21 | ${NGRAPH_LIBRARIES} 22 | ${OpenCV_LIBS} 23 | ) 24 | -------------------------------------------------------------------------------- /deploy/third_engine/demo_openvino_kpts/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.4.1) 2 | set(CMAKE_CXX_STANDARD 14) 3 | 4 | project(tinypose_demo) 5 | 6 | find_package(OpenCV REQUIRED) 7 | find_package(InferenceEngine REQUIRED) 8 | find_package(ngraph REQUIRED) 9 | 10 | include_directories( 11 | ${OpenCV_INCLUDE_DIRS} 12 | ${CMAKE_CURRENT_SOURCE_DIR} 13 | ${CMAKE_CURRENT_BINARY_DIR} 14 | ) 15 | 16 | add_executable(tinypose_demo main.cpp picodet_openvino.cpp keypoint_detector.cpp keypoint_postprocess.cpp) 17 | 18 | target_link_libraries( 19 | tinypose_demo 20 | ${InferenceEngine_LIBRARIES} 21 | ${NGRAPH_LIBRARIES} 22 | ${OpenCV_LIBS} 23 | ) 24 | -------------------------------------------------------------------------------- /docs/hardware/supported_models.md: -------------------------------------------------------------------------------- 1 | # PaddleYOLO模型列表 2 | 3 | *多硬件安装方式请参考[多硬件安装文档](install_other_devices.md)* 4 | 5 | | 模型名称 | 昇腾NPU | 6 | | ---------------- | -------- | 7 | | YOLOv5_small | √ | 8 | | YOLOv5_medium | √ | 9 | | YOLOv5_large | √ | 10 | | YOLOv5_extra_large | √ | 11 | | YOLOv5u_small | √ | 12 | | YOLOv5u_medium | √ | 13 | | YOLOv5u_large | √ | 14 | | YOLOv5u_extra_large | √ | 15 | | YOLOv8_small | √ | 16 | | YOLOv8_medium | √ | 17 | | YOLOv8_large | √ | 18 | | YOLOv8_extra_large | √ | 19 | | PP-YOLOE seg | √ | -------------------------------------------------------------------------------- /docs/images/000000014439.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/000000014439.jpg -------------------------------------------------------------------------------- /docs/images/12_Group_Group_12_Group_Group_12_935.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/12_Group_Group_12_Group_Group_12_935.jpg -------------------------------------------------------------------------------- /docs/images/PedestrianDetection_001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/PedestrianDetection_001.png -------------------------------------------------------------------------------- /docs/images/PedestrianDetection_004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/PedestrianDetection_004.png -------------------------------------------------------------------------------- /docs/images/bus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/bus.jpg -------------------------------------------------------------------------------- /docs/images/dog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/dog.jpg -------------------------------------------------------------------------------- /docs/images/fps_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/fps_map.png -------------------------------------------------------------------------------- /docs/images/input_shape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/input_shape.png -------------------------------------------------------------------------------- /docs/images/instance_seg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/instance_seg.png -------------------------------------------------------------------------------- /docs/images/layout.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/layout.jpg -------------------------------------------------------------------------------- /docs/images/lite_demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/lite_demo.jpg -------------------------------------------------------------------------------- /docs/images/mobile_fps_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/mobile_fps_map.png -------------------------------------------------------------------------------- /docs/images/model_figure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/model_figure.png -------------------------------------------------------------------------------- /docs/images/picedet_demo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/picedet_demo.jpeg -------------------------------------------------------------------------------- /docs/images/ppdet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/ppdet.gif -------------------------------------------------------------------------------- /docs/images/ppyolo_map_fps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/ppyolo_map_fps.png -------------------------------------------------------------------------------- /docs/images/ppyoloe_plus_map_fps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/ppyoloe_plus_map_fps.png -------------------------------------------------------------------------------- /docs/images/reader_figure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/reader_figure.png -------------------------------------------------------------------------------- /docs/images/res.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/res.jpg -------------------------------------------------------------------------------- /docs/images/road554.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/road554.png -------------------------------------------------------------------------------- /docs/images/roadsign_yml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/roadsign_yml.png -------------------------------------------------------------------------------- /docs/images/ssld_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/ssld_model.png -------------------------------------------------------------------------------- /docs/images/yaml_show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/docs/images/yaml_show.png -------------------------------------------------------------------------------- /docs/tutorials/FAQ/README.md: -------------------------------------------------------------------------------- 1 | # FAQ/常见问题 2 | 3 | **PaddleDetection**非常感谢各位开发者提出任何使用问题或需求,我们根据大家的提问,总结**FAQ/常见问题**合集,并在**每周一**进行更新,以下是往期的FAQ,欢迎大家进行查阅。 4 | 5 | - [FAQ:第零期](./FAQ第零期.md) 6 | - [FAQ:第一期](./FAQ第一期.md) 7 | -------------------------------------------------------------------------------- /ppdet/core/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import config 16 | -------------------------------------------------------------------------------- /ppdet/core/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /ppdet/data/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import source 16 | from . import transform 17 | from . import reader 18 | 19 | from .source import * 20 | from .transform import * 21 | from .reader import * 22 | -------------------------------------------------------------------------------- /ppdet/data/source/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import coco 16 | from . import voc 17 | from . import category 18 | 19 | from .coco import * 20 | from .voc import * 21 | from .category import * 22 | from .dataset import ImageFolder 23 | -------------------------------------------------------------------------------- /ppdet/data/transform/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import operators 16 | from . import batch_operators 17 | 18 | from .operators import * 19 | from .batch_operators import * 20 | 21 | __all__ = [] 22 | __all__ += registered_ops 23 | -------------------------------------------------------------------------------- /ppdet/metrics/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import metrics 16 | 17 | from .metrics import * 18 | -------------------------------------------------------------------------------- /ppdet/model_zoo/.gitignore: -------------------------------------------------------------------------------- 1 | MODEL_ZOO 2 | -------------------------------------------------------------------------------- /ppdet/model_zoo/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import model_zoo 16 | from .model_zoo import * 17 | 18 | __all__ = model_zoo.__all__ 19 | -------------------------------------------------------------------------------- /ppdet/model_zoo/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /ppdet/modeling/proposal_generator/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import anchor_generator 16 | 17 | from .anchor_generator import * 18 | -------------------------------------------------------------------------------- /ppdet/modeling/ssod/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import utils 16 | from . import losses 17 | 18 | from .utils import * 19 | from .losses import * 20 | -------------------------------------------------------------------------------- /ppdet/modeling/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /ppdet/modeling/tests/imgs/coco2017_val2017_000000000139.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/ppdet/modeling/tests/imgs/coco2017_val2017_000000000139.jpg -------------------------------------------------------------------------------- /ppdet/modeling/tests/imgs/coco2017_val2017_000000000724.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/ppdet/modeling/tests/imgs/coco2017_val2017_000000000724.jpg -------------------------------------------------------------------------------- /ppdet/modeling/transformers/ext_op/setup_ms_deformable_attn_op.py: -------------------------------------------------------------------------------- 1 | from paddle.utils.cpp_extension import CUDAExtension, setup 2 | 3 | if __name__ == "__main__": 4 | setup( 5 | name='deformable_detr_ops', 6 | ext_modules=CUDAExtension( 7 | sources=['ms_deformable_attn_op.cc', 'ms_deformable_attn_op.cu'])) 8 | -------------------------------------------------------------------------------- /ppdet/optimizer/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import optimizer 16 | from . import ema 17 | 18 | from .optimizer import * 19 | from .ema import * 20 | -------------------------------------------------------------------------------- /ppdet/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | numpy < 1.24 2 | tqdm 3 | typeguard 4 | visualdl>=2.2.0 5 | opencv-python <= 4.6.0 6 | PyYAML 7 | shapely 8 | scipy 9 | terminaltables 10 | Cython 11 | pycocotools 12 | setuptools 13 | -------------------------------------------------------------------------------- /test_tipc/docs/guide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/test_tipc/docs/guide.png -------------------------------------------------------------------------------- /test_tipc/docs/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/test_tipc/docs/test.png -------------------------------------------------------------------------------- /test_tipc/requirements.txt: -------------------------------------------------------------------------------- 1 | pynvml 2 | psutil 3 | GPUtil 4 | paddleslim 5 | onnx 6 | onnxruntime 7 | paddle2onnx 8 | -------------------------------------------------------------------------------- /test_tipc/test_lite.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaddlePaddle/PaddleYOLO/4099f872b690e4634c7b157d7b4b2bf53ded757a/test_tipc/test_lite.sh --------------------------------------------------------------------------------