├── .circleci └── config.yml ├── .dev_scripts ├── batch_test_list.py ├── batch_train_list.txt ├── benchmark_filter.py ├── benchmark_inference_fps.py ├── benchmark_test_image.py ├── convert_test_benchmark_script.py ├── convert_train_benchmark_script.py ├── gather_models.py ├── gather_test_benchmark_metric.py ├── gather_train_benchmark_metric.py ├── linter.sh ├── test_benchmark.sh ├── test_init_backbone.py └── train_benchmark.sh ├── .github ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── error-report.md │ ├── feature_request.md │ ├── general_questions.md │ └── reimplementation_questions.md ├── pull_request_template.md └── workflows │ ├── build.yml │ ├── build_pat.yml │ ├── deploy.yml │ └── lint.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .readthedocs.yml ├── CITATION.cff ├── LICENSE ├── MANIFEST.in ├── README.md ├── README_mmdet.md ├── README_zh-CN.md ├── UFPMP-Det-Tools ├── build_dataset │ ├── UAVDT2COCO.py │ ├── UFP_VisDrone2COCO.py │ ├── VisDrone2COCO.py │ └── example.sh ├── eval_script │ ├── coco2VisDrone.py │ ├── example.sh │ └── ufpmp_det_eval.py └── ufp │ ├── __init__.py │ ├── spp.py │ └── unified_foreground_packing.py ├── configs ├── UFPMP-Det │ ├── UAVDT_coarse_det.py │ ├── coarse_det.py │ ├── mp_det_res101.py │ ├── mp_det_res50.py │ └── uavdt_mp_det_res50.py ├── _base_ │ ├── datasets │ │ ├── cityscapes_detection.py │ │ ├── cityscapes_instance.py │ │ ├── coco_detection.py │ │ ├── coco_instance.py │ │ ├── coco_instance_semantic.py │ │ ├── coco_panoptic.py │ │ ├── deepfashion.py │ │ ├── lvis_v0.5_instance.py │ │ ├── lvis_v1_instance.py │ │ ├── voc0712.py │ │ └── wider_face.py │ ├── default_runtime.py │ ├── models │ │ ├── cascade_mask_rcnn_r50_fpn.py │ │ ├── cascade_rcnn_r50_fpn.py │ │ ├── fast_rcnn_r50_fpn.py │ │ ├── faster_rcnn_r50_caffe_c4.py │ │ ├── faster_rcnn_r50_caffe_dc5.py │ │ ├── faster_rcnn_r50_fpn.py │ │ ├── mask_rcnn_r50_caffe_c4.py │ │ ├── mask_rcnn_r50_fpn.py │ │ ├── retinanet_r50_fpn.py │ │ ├── rpn_r50_caffe_c4.py │ │ ├── rpn_r50_fpn.py │ │ └── ssd300.py │ └── schedules │ │ ├── schedule_1x.py │ │ ├── schedule_20e.py │ │ └── schedule_2x.py ├── albu_example │ ├── README.md │ └── mask_rcnn_r50_fpn_albu_1x_coco.py ├── atss │ ├── README.md │ ├── atss_r101_fpn_1x_coco.py │ ├── atss_r50_fpn_1x_coco.py │ └── metafile.yml ├── autoassign │ ├── README.md │ ├── autoassign_r50_fpn_8x2_1x_coco.py │ └── metafile.yml ├── carafe │ ├── README.md │ ├── faster_rcnn_r50_fpn_carafe_1x_coco.py │ ├── mask_rcnn_r50_fpn_carafe_1x_coco.py │ └── metafile.yml ├── cascade_rcnn │ ├── README.md │ ├── cascade_mask_rcnn_r101_caffe_fpn_1x_coco.py │ ├── cascade_mask_rcnn_r101_caffe_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_r101_fpn_1x_coco.py │ ├── cascade_mask_rcnn_r101_fpn_20e_coco.py │ ├── cascade_mask_rcnn_r101_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_r50_caffe_fpn_1x_coco.py │ ├── cascade_mask_rcnn_r50_caffe_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_r50_fpn_1x_coco.py │ ├── cascade_mask_rcnn_r50_fpn_20e_coco.py │ ├── cascade_mask_rcnn_r50_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_x101_32x4d_fpn_1x_coco.py │ ├── cascade_mask_rcnn_x101_32x4d_fpn_20e_coco.py │ ├── cascade_mask_rcnn_x101_32x4d_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_x101_32x8d_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_x101_64x4d_fpn_1x_coco.py │ ├── cascade_mask_rcnn_x101_64x4d_fpn_20e_coco.py │ ├── cascade_mask_rcnn_x101_64x4d_fpn_mstrain_3x_coco.py │ ├── cascade_rcnn_r101_caffe_fpn_1x_coco.py │ ├── cascade_rcnn_r101_fpn_1x_coco.py │ ├── cascade_rcnn_r101_fpn_20e_coco.py │ ├── cascade_rcnn_r50_caffe_fpn_1x_coco.py │ ├── cascade_rcnn_r50_fpn_1x_coco.py │ ├── cascade_rcnn_r50_fpn_20e_coco.py │ ├── cascade_rcnn_x101_32x4d_fpn_1x_coco.py │ ├── cascade_rcnn_x101_32x4d_fpn_20e_coco.py │ ├── cascade_rcnn_x101_64x4d_fpn_1x_coco.py │ ├── cascade_rcnn_x101_64x4d_fpn_20e_coco.py │ └── metafile.yml ├── cascade_rpn │ ├── README.md │ ├── crpn_fast_rcnn_r50_caffe_fpn_1x_coco.py │ ├── crpn_faster_rcnn_r50_caffe_fpn_1x_coco.py │ └── crpn_r50_caffe_fpn_1x_coco.py ├── centernet │ ├── README.md │ ├── centernet_resnet18_140e_coco.py │ ├── centernet_resnet18_dcnv2_140e_coco.py │ └── metafile.yml ├── centripetalnet │ ├── README.md │ ├── centripetalnet_hourglass104_mstest_16x6_210e_coco.py │ └── metafile.yml ├── cityscapes │ ├── README.md │ ├── faster_rcnn_r50_fpn_1x_cityscapes.py │ └── mask_rcnn_r50_fpn_1x_cityscapes.py ├── common │ ├── lsj_100e_coco_instance.py │ ├── mstrain-poly_3x_coco_instance.py │ ├── mstrain_3x_coco.py │ └── mstrain_3x_coco_instance.py ├── cornernet │ ├── README.md │ ├── cornernet_hourglass104_mstest_10x5_210e_coco.py │ ├── cornernet_hourglass104_mstest_32x3_210e_coco.py │ ├── cornernet_hourglass104_mstest_8x6_210e_coco.py │ └── metafile.yml ├── dcn │ ├── README.md │ ├── cascade_mask_rcnn_r101_fpn_dconv_c3-c5_1x_coco.py │ ├── cascade_mask_rcnn_r50_fpn_dconv_c3-c5_1x_coco.py │ ├── cascade_mask_rcnn_x101_32x4d_fpn_dconv_c3-c5_1x_coco.py │ ├── cascade_rcnn_r101_fpn_dconv_c3-c5_1x_coco.py │ ├── cascade_rcnn_r50_fpn_dconv_c3-c5_1x_coco.py │ ├── faster_rcnn_r101_fpn_dconv_c3-c5_1x_coco.py │ ├── faster_rcnn_r50_fpn_dconv_c3-c5_1x_coco.py │ ├── faster_rcnn_r50_fpn_dpool_1x_coco.py │ ├── faster_rcnn_r50_fpn_mdconv_c3-c5_1x_coco.py │ ├── faster_rcnn_r50_fpn_mdconv_c3-c5_group4_1x_coco.py │ ├── faster_rcnn_r50_fpn_mdpool_1x_coco.py │ ├── faster_rcnn_x101_32x4d_fpn_dconv_c3-c5_1x_coco.py │ ├── mask_rcnn_r101_fpn_dconv_c3-c5_1x_coco.py │ ├── mask_rcnn_r50_fpn_dconv_c3-c5_1x_coco.py │ ├── mask_rcnn_r50_fpn_fp16_dconv_c3-c5_1x_coco.py │ ├── mask_rcnn_r50_fpn_fp16_mdconv_c3-c5_1x_coco.py │ ├── mask_rcnn_r50_fpn_mdconv_c3-c5_1x_coco.py │ └── metafile.yml ├── deepfashion │ ├── README.md │ └── mask_rcnn_r50_fpn_15e_deepfashion.py ├── deformable_detr │ ├── README.md │ ├── deformable_detr_r50_16x2_50e_coco.py │ ├── deformable_detr_refine_r50_16x2_50e_coco.py │ ├── deformable_detr_twostage_refine_r50_16x2_50e_coco.py │ └── metafile.yml ├── detectors │ ├── README.md │ ├── cascade_rcnn_r50_rfp_1x_coco.py │ ├── cascade_rcnn_r50_sac_1x_coco.py │ ├── detectors_cascade_rcnn_r50_1x_coco.py │ ├── detectors_htc_r101_20e_coco.py │ ├── detectors_htc_r50_1x_coco.py │ ├── htc_r50_rfp_1x_coco.py │ ├── htc_r50_sac_1x_coco.py │ └── metafile.yml ├── detr │ ├── README.md │ ├── detr_r50_8x2_150e_coco.py │ └── metafile.yml ├── double_heads │ ├── README.md │ ├── dh_faster_rcnn_r50_fpn_1x_coco.py │ └── metafile.yml ├── dynamic_rcnn │ ├── README.md │ ├── dynamic_rcnn_r50_fpn_1x_coco.py │ └── metafile.yml ├── empirical_attention │ ├── README.md │ ├── faster_rcnn_r50_fpn_attention_0010_1x_coco.py │ ├── faster_rcnn_r50_fpn_attention_0010_dcn_1x_coco.py │ ├── faster_rcnn_r50_fpn_attention_1111_1x_coco.py │ ├── faster_rcnn_r50_fpn_attention_1111_dcn_1x_coco.py │ └── metafile.yml ├── fast_rcnn │ ├── README.md │ ├── fast_rcnn_r101_caffe_fpn_1x_coco.py │ ├── fast_rcnn_r101_fpn_1x_coco.py │ ├── fast_rcnn_r101_fpn_2x_coco.py │ ├── fast_rcnn_r50_caffe_fpn_1x_coco.py │ ├── fast_rcnn_r50_fpn_1x_coco.py │ └── fast_rcnn_r50_fpn_2x_coco.py ├── faster_rcnn │ ├── README.md │ ├── faster_rcnn_r101_caffe_fpn_1x_coco.py │ ├── faster_rcnn_r101_caffe_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_r101_fpn_1x_coco.py │ ├── faster_rcnn_r101_fpn_2x_coco.py │ ├── faster_rcnn_r101_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_r50_caffe_c4_1x_coco.py │ ├── faster_rcnn_r50_caffe_dc5_1x_coco.py │ ├── faster_rcnn_r50_caffe_dc5_mstrain_1x_coco.py │ ├── faster_rcnn_r50_caffe_dc5_mstrain_3x_coco.py │ ├── faster_rcnn_r50_caffe_fpn_1x_coco.py │ ├── faster_rcnn_r50_caffe_fpn_90k_coco.py │ ├── faster_rcnn_r50_caffe_fpn_mstrain_1x_coco-person-bicycle-car.py │ ├── faster_rcnn_r50_caffe_fpn_mstrain_1x_coco-person.py │ ├── faster_rcnn_r50_caffe_fpn_mstrain_1x_coco.py │ ├── faster_rcnn_r50_caffe_fpn_mstrain_2x_coco.py │ ├── faster_rcnn_r50_caffe_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_r50_caffe_fpn_mstrain_90k_coco.py │ ├── faster_rcnn_r50_fpn_1x_coco.py │ ├── faster_rcnn_r50_fpn_2x_coco.py │ ├── faster_rcnn_r50_fpn_bounded_iou_1x_coco.py │ ├── faster_rcnn_r50_fpn_ciou_1x_coco.py │ ├── faster_rcnn_r50_fpn_fp16_1x_coco.py │ ├── faster_rcnn_r50_fpn_giou_1x_coco.py │ ├── faster_rcnn_r50_fpn_iou_1x_coco.py │ ├── faster_rcnn_r50_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_r50_fpn_ohem_1x_coco.py │ ├── faster_rcnn_r50_fpn_soft_nms_1x_coco.py │ ├── faster_rcnn_x101_32x4d_fpn_1x_coco.py │ ├── faster_rcnn_x101_32x4d_fpn_2x_coco.py │ ├── faster_rcnn_x101_32x4d_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_x101_32x8d_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_x101_64x4d_fpn_1x_coco.py │ ├── faster_rcnn_x101_64x4d_fpn_2x_coco.py │ ├── faster_rcnn_x101_64x4d_fpn_mstrain_3x_coco.py │ └── metafile.yml ├── fcos │ ├── README.md │ ├── fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_1x_coco.py │ ├── fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_1x_coco.py │ ├── fcos_center_r50_caffe_fpn_gn-head_1x_coco.py │ ├── fcos_r101_caffe_fpn_gn-head_1x_coco.py │ ├── fcos_r101_caffe_fpn_gn-head_mstrain_640-800_2x_coco.py │ ├── fcos_r50_caffe_fpn_gn-head_1x_coco.py │ ├── fcos_r50_caffe_fpn_gn-head_4x4_1x_coco.py │ ├── fcos_r50_caffe_fpn_gn-head_mstrain_640-800_2x_coco.py │ ├── fcos_x101_64x4d_fpn_gn-head_mstrain_640-800_2x_coco.py │ └── metafile.yml ├── foveabox │ ├── README.md │ ├── fovea_align_r101_fpn_gn-head_4x4_2x_coco.py │ ├── fovea_align_r101_fpn_gn-head_mstrain_640-800_4x4_2x_coco.py │ ├── fovea_align_r50_fpn_gn-head_4x4_2x_coco.py │ ├── fovea_align_r50_fpn_gn-head_mstrain_640-800_4x4_2x_coco.py │ ├── fovea_r101_fpn_4x4_1x_coco.py │ ├── fovea_r101_fpn_4x4_2x_coco.py │ ├── fovea_r50_fpn_4x4_1x_coco.py │ ├── fovea_r50_fpn_4x4_2x_coco.py │ └── metafile.yml ├── fpg │ ├── README.md │ ├── faster_rcnn_r50_fpg-chn128_crop640_50e_coco.py │ ├── faster_rcnn_r50_fpg_crop640_50e_coco.py │ ├── faster_rcnn_r50_fpn_crop640_50e_coco.py │ ├── mask_rcnn_r50_fpg-chn128_crop640_50e_coco.py │ ├── mask_rcnn_r50_fpg_crop640_50e_coco.py │ ├── mask_rcnn_r50_fpn_crop640_50e_coco.py │ ├── metafile.yml │ ├── retinanet_r50_fpg-chn128_crop640_50e_coco.py │ └── retinanet_r50_fpg_crop640_50e_coco.py ├── free_anchor │ ├── README.md │ ├── metafile.yml │ ├── retinanet_free_anchor_r101_fpn_1x_coco.py │ ├── retinanet_free_anchor_r50_fpn_1x_coco.py │ └── retinanet_free_anchor_x101_32x4d_fpn_1x_coco.py ├── fsaf │ ├── README.md │ ├── fsaf_r101_fpn_1x_coco.py │ ├── fsaf_r50_fpn_1x_coco.py │ ├── fsaf_x101_64x4d_fpn_1x_coco.py │ └── metafile.yml ├── gcnet │ ├── README.md │ ├── cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_1x_coco.py │ ├── cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_dconv_c3-c5_1x_coco.py │ ├── cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_dconv_c3-c5_r16_gcb_c3-c5_1x_coco.py │ ├── cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_dconv_c3-c5_r4_gcb_c3-c5_1x_coco.py │ ├── cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_r16_gcb_c3-c5_1x_coco.py │ ├── cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_r4_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_r101_fpn_r16_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_r101_fpn_r4_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_r101_fpn_syncbn-backbone_1x_coco.py │ ├── mask_rcnn_r101_fpn_syncbn-backbone_r16_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_r101_fpn_syncbn-backbone_r4_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_r50_fpn_r16_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_r50_fpn_r4_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_r50_fpn_syncbn-backbone_1x_coco.py │ ├── mask_rcnn_r50_fpn_syncbn-backbone_r16_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_r50_fpn_syncbn-backbone_r4_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_x101_32x4d_fpn_syncbn-backbone_1x_coco.py │ ├── mask_rcnn_x101_32x4d_fpn_syncbn-backbone_r16_gcb_c3-c5_1x_coco.py │ ├── mask_rcnn_x101_32x4d_fpn_syncbn-backbone_r4_gcb_c3-c5_1x_coco.py │ └── metafile.yml ├── gfl │ ├── README.md │ ├── gfl_r101_fpn_dconv_c3-c5_mstrain_2x_coco.py │ ├── gfl_r101_fpn_mstrain_2x_coco.py │ ├── gfl_r50_fpn_1x_coco.py │ ├── gfl_r50_fpn_mstrain_2x_coco.py │ ├── gfl_x101_32x4d_fpn_dconv_c4-c5_mstrain_2x_coco.py │ ├── gfl_x101_32x4d_fpn_mstrain_2x_coco.py │ └── metafile.yml ├── ghm │ ├── README.md │ ├── metafile.yml │ ├── retinanet_ghm_r101_fpn_1x_coco.py │ ├── retinanet_ghm_r50_fpn_1x_coco.py │ ├── retinanet_ghm_x101_32x4d_fpn_1x_coco.py │ └── retinanet_ghm_x101_64x4d_fpn_1x_coco.py ├── gn+ws │ ├── README.md │ ├── faster_rcnn_r101_fpn_gn_ws-all_1x_coco.py │ ├── faster_rcnn_r50_fpn_gn_ws-all_1x_coco.py │ ├── faster_rcnn_x101_32x4d_fpn_gn_ws-all_1x_coco.py │ ├── faster_rcnn_x50_32x4d_fpn_gn_ws-all_1x_coco.py │ ├── mask_rcnn_r101_fpn_gn_ws-all_20_23_24e_coco.py │ ├── mask_rcnn_r101_fpn_gn_ws-all_2x_coco.py │ ├── mask_rcnn_r50_fpn_gn_ws-all_20_23_24e_coco.py │ ├── mask_rcnn_r50_fpn_gn_ws-all_2x_coco.py │ ├── mask_rcnn_x101_32x4d_fpn_gn_ws-all_20_23_24e_coco.py │ ├── mask_rcnn_x101_32x4d_fpn_gn_ws-all_2x_coco.py │ ├── mask_rcnn_x50_32x4d_fpn_gn_ws-all_20_23_24e_coco.py │ ├── mask_rcnn_x50_32x4d_fpn_gn_ws-all_2x_coco.py │ └── metafile.yml ├── gn │ ├── README.md │ ├── mask_rcnn_r101_fpn_gn-all_2x_coco.py │ ├── mask_rcnn_r101_fpn_gn-all_3x_coco.py │ ├── mask_rcnn_r50_fpn_gn-all_2x_coco.py │ ├── mask_rcnn_r50_fpn_gn-all_3x_coco.py │ ├── mask_rcnn_r50_fpn_gn-all_contrib_2x_coco.py │ ├── mask_rcnn_r50_fpn_gn-all_contrib_3x_coco.py │ └── metafile.yml ├── grid_rcnn │ ├── README.md │ ├── grid_rcnn_r101_fpn_gn-head_2x_coco.py │ ├── grid_rcnn_r50_fpn_gn-head_1x_coco.py │ ├── grid_rcnn_r50_fpn_gn-head_2x_coco.py │ ├── grid_rcnn_x101_32x4d_fpn_gn-head_2x_coco.py │ ├── grid_rcnn_x101_64x4d_fpn_gn-head_2x_coco.py │ └── metafile.yml ├── groie │ ├── README.md │ ├── faster_rcnn_r50_fpn_groie_1x_coco.py │ ├── grid_rcnn_r50_fpn_gn-head_groie_1x_coco.py │ ├── mask_rcnn_r101_fpn_syncbn-backbone_r4_gcb_c3-c5_groie_1x_coco.py │ ├── mask_rcnn_r50_fpn_groie_1x_coco.py │ ├── mask_rcnn_r50_fpn_syncbn-backbone_r4_gcb_c3-c5_groie_1x_coco.py │ └── metafile.yml ├── guided_anchoring │ ├── README.md │ ├── ga_fast_r50_caffe_fpn_1x_coco.py │ ├── ga_faster_r101_caffe_fpn_1x_coco.py │ ├── ga_faster_r50_caffe_fpn_1x_coco.py │ ├── ga_faster_r50_fpn_1x_coco.py │ ├── ga_faster_x101_32x4d_fpn_1x_coco.py │ ├── ga_faster_x101_64x4d_fpn_1x_coco.py │ ├── ga_retinanet_r101_caffe_fpn_1x_coco.py │ ├── ga_retinanet_r101_caffe_fpn_mstrain_2x.py │ ├── ga_retinanet_r50_caffe_fpn_1x_coco.py │ ├── ga_retinanet_r50_fpn_1x_coco.py │ ├── ga_retinanet_x101_32x4d_fpn_1x_coco.py │ ├── ga_retinanet_x101_64x4d_fpn_1x_coco.py │ ├── ga_rpn_r101_caffe_fpn_1x_coco.py │ ├── ga_rpn_r50_caffe_fpn_1x_coco.py │ ├── ga_rpn_r50_fpn_1x_coco.py │ ├── ga_rpn_x101_32x4d_fpn_1x_coco.py │ ├── ga_rpn_x101_64x4d_fpn_1x_coco.py │ └── metafile.yml ├── hrnet │ ├── README.md │ ├── cascade_mask_rcnn_hrnetv2p_w18_20e_coco.py │ ├── cascade_mask_rcnn_hrnetv2p_w32_20e_coco.py │ ├── cascade_mask_rcnn_hrnetv2p_w40_20e_coco.py │ ├── cascade_rcnn_hrnetv2p_w18_20e_coco.py │ ├── cascade_rcnn_hrnetv2p_w32_20e_coco.py │ ├── cascade_rcnn_hrnetv2p_w40_20e_coco.py │ ├── faster_rcnn_hrnetv2p_w18_1x_coco.py │ ├── faster_rcnn_hrnetv2p_w18_2x_coco.py │ ├── faster_rcnn_hrnetv2p_w32_1x_coco.py │ ├── faster_rcnn_hrnetv2p_w32_2x_coco.py │ ├── faster_rcnn_hrnetv2p_w40_1x_coco.py │ ├── faster_rcnn_hrnetv2p_w40_2x_coco.py │ ├── fcos_hrnetv2p_w18_gn-head_4x4_1x_coco.py │ ├── fcos_hrnetv2p_w18_gn-head_4x4_2x_coco.py │ ├── fcos_hrnetv2p_w18_gn-head_mstrain_640-800_4x4_2x_coco.py │ ├── fcos_hrnetv2p_w32_gn-head_4x4_1x_coco.py │ ├── fcos_hrnetv2p_w32_gn-head_4x4_2x_coco.py │ ├── fcos_hrnetv2p_w32_gn-head_mstrain_640-800_4x4_2x_coco.py │ ├── fcos_hrnetv2p_w40_gn-head_mstrain_640-800_4x4_2x_coco.py │ ├── htc_hrnetv2p_w18_20e_coco.py │ ├── htc_hrnetv2p_w32_20e_coco.py │ ├── htc_hrnetv2p_w40_20e_coco.py │ ├── htc_hrnetv2p_w40_28e_coco.py │ ├── htc_x101_64x4d_fpn_16x1_28e_coco.py │ ├── mask_rcnn_hrnetv2p_w18_1x_coco.py │ ├── mask_rcnn_hrnetv2p_w18_2x_coco.py │ ├── mask_rcnn_hrnetv2p_w32_1x_coco.py │ ├── mask_rcnn_hrnetv2p_w32_2x_coco.py │ ├── mask_rcnn_hrnetv2p_w40_1x_coco.py │ ├── mask_rcnn_hrnetv2p_w40_2x_coco.py │ └── metafile.yml ├── htc │ ├── README.md │ ├── htc_r101_fpn_20e_coco.py │ ├── htc_r50_fpn_1x_coco.py │ ├── htc_r50_fpn_20e_coco.py │ ├── htc_without_semantic_r50_fpn_1x_coco.py │ ├── htc_x101_32x4d_fpn_16x1_20e_coco.py │ ├── htc_x101_64x4d_fpn_16x1_20e_coco.py │ ├── htc_x101_64x4d_fpn_dconv_c3-c5_mstrain_400_1400_16x1_20e_coco.py │ └── metafile.yml ├── instaboost │ ├── README.md │ ├── cascade_mask_rcnn_r101_fpn_instaboost_4x_coco.py │ ├── cascade_mask_rcnn_r50_fpn_instaboost_4x_coco.py │ ├── cascade_mask_rcnn_x101_64x4d_fpn_instaboost_4x_coco.py │ ├── mask_rcnn_r101_fpn_instaboost_4x_coco.py │ ├── mask_rcnn_r50_fpn_instaboost_4x_coco.py │ ├── mask_rcnn_x101_64x4d_fpn_instaboost_4x_coco.py │ └── metafile.yml ├── lad │ ├── README.md │ ├── lad_r101_paa_r50_fpn_coco_1x.py │ └── lad_r50_paa_r101_fpn_coco_1x.py ├── ld │ ├── README.md │ ├── ld_r101_gflv1_r101dcn_fpn_coco_2x.py │ ├── ld_r18_gflv1_r101_fpn_coco_1x.py │ ├── ld_r34_gflv1_r101_fpn_coco_1x.py │ ├── ld_r50_gflv1_r101_fpn_coco_1x.py │ └── metafile.yml ├── legacy_1.x │ ├── README.md │ ├── cascade_mask_rcnn_r50_fpn_1x_coco_v1.py │ ├── faster_rcnn_r50_fpn_1x_coco_v1.py │ ├── mask_rcnn_r50_fpn_1x_coco_v1.py │ ├── retinanet_r50_caffe_fpn_1x_coco_v1.py │ ├── retinanet_r50_fpn_1x_coco_v1.py │ └── ssd300_coco_v1.py ├── libra_rcnn │ ├── README.md │ ├── libra_fast_rcnn_r50_fpn_1x_coco.py │ ├── libra_faster_rcnn_r101_fpn_1x_coco.py │ ├── libra_faster_rcnn_r50_fpn_1x_coco.py │ ├── libra_faster_rcnn_x101_64x4d_fpn_1x_coco.py │ ├── libra_retinanet_r50_fpn_1x_coco.py │ └── metafile.yml ├── lvis │ ├── README.md │ ├── mask_rcnn_r101_fpn_sample1e-3_mstrain_1x_lvis_v1.py │ ├── mask_rcnn_r101_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py │ ├── mask_rcnn_r50_fpn_sample1e-3_mstrain_1x_lvis_v1.py │ ├── mask_rcnn_r50_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py │ ├── mask_rcnn_x101_32x4d_fpn_sample1e-3_mstrain_1x_lvis_v1.py │ ├── mask_rcnn_x101_32x4d_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py │ ├── mask_rcnn_x101_64x4d_fpn_sample1e-3_mstrain_1x_lvis_v1.py │ └── mask_rcnn_x101_64x4d_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py ├── mask_rcnn │ ├── README.md │ ├── mask_rcnn_r101_caffe_fpn_1x_coco.py │ ├── mask_rcnn_r101_caffe_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_r101_fpn_1x_coco.py │ ├── mask_rcnn_r101_fpn_2x_coco.py │ ├── mask_rcnn_r101_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_r50_caffe_c4_1x_coco.py │ ├── mask_rcnn_r50_caffe_fpn_1x_coco.py │ ├── mask_rcnn_r50_caffe_fpn_mstrain-poly_1x_coco.py │ ├── mask_rcnn_r50_caffe_fpn_mstrain-poly_2x_coco.py │ ├── mask_rcnn_r50_caffe_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_r50_caffe_fpn_mstrain_1x_coco.py │ ├── mask_rcnn_r50_caffe_fpn_poly_1x_coco_v1.py │ ├── mask_rcnn_r50_fpn_1x_coco.py │ ├── mask_rcnn_r50_fpn_2x_coco.py │ ├── mask_rcnn_r50_fpn_fp16_1x_coco.py │ ├── mask_rcnn_r50_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_r50_fpn_poly_1x_coco.py │ ├── mask_rcnn_x101_32x4d_fpn_1x_coco.py │ ├── mask_rcnn_x101_32x4d_fpn_2x_coco.py │ ├── mask_rcnn_x101_32x4d_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_x101_32x8d_fpn_1x_coco.py │ ├── mask_rcnn_x101_32x8d_fpn_mstrain-poly_1x_coco.py │ ├── mask_rcnn_x101_32x8d_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_x101_64x4d_fpn_1x_coco.py │ ├── mask_rcnn_x101_64x4d_fpn_2x_coco.py │ ├── mask_rcnn_x101_64x4d_fpn_mstrain-poly_3x_coco.py │ └── metafile.yml ├── ms_rcnn │ ├── README.md │ ├── metafile.yml │ ├── ms_rcnn_r101_caffe_fpn_1x_coco.py │ ├── ms_rcnn_r101_caffe_fpn_2x_coco.py │ ├── ms_rcnn_r50_caffe_fpn_1x_coco.py │ ├── ms_rcnn_r50_caffe_fpn_2x_coco.py │ ├── ms_rcnn_r50_fpn_1x_coco.py │ ├── ms_rcnn_x101_32x4d_fpn_1x_coco.py │ ├── ms_rcnn_x101_64x4d_fpn_1x_coco.py │ └── ms_rcnn_x101_64x4d_fpn_2x_coco.py ├── nas_fcos │ ├── README.md │ ├── metafile.yml │ ├── nas_fcos_fcoshead_r50_caffe_fpn_gn-head_4x4_1x_coco.py │ └── nas_fcos_nashead_r50_caffe_fpn_gn-head_4x4_1x_coco.py ├── nas_fpn │ ├── README.md │ ├── metafile.yml │ ├── retinanet_r50_fpn_crop640_50e_coco.py │ └── retinanet_r50_nasfpn_crop640_50e_coco.py ├── paa │ ├── README.md │ ├── metafile.yml │ ├── paa_r101_fpn_1x_coco.py │ ├── paa_r101_fpn_2x_coco.py │ ├── paa_r101_fpn_mstrain_3x_coco.py │ ├── paa_r50_fpn_1.5x_coco.py │ ├── paa_r50_fpn_1x_coco.py │ ├── paa_r50_fpn_2x_coco.py │ └── paa_r50_fpn_mstrain_3x_coco.py ├── pafpn │ ├── README.md │ ├── faster_rcnn_r50_pafpn_1x_coco.py │ └── metafile.yml ├── panoptic_fpn │ ├── README.md │ ├── metafile.yml │ ├── panoptic_fpn_r101_fpn_1x_coco.py │ ├── panoptic_fpn_r101_fpn_mstrain_3x_coco.py │ ├── panoptic_fpn_r50_fpn_1x_coco.py │ └── panoptic_fpn_r50_fpn_mstrain_3x_coco.py ├── pascal_voc │ ├── README.md │ ├── faster_rcnn_r50_fpn_1x_voc0712.py │ ├── faster_rcnn_r50_fpn_1x_voc0712_cocofmt.py │ ├── retinanet_r50_fpn_1x_voc0712.py │ ├── ssd300_voc0712.py │ └── ssd512_voc0712.py ├── pisa │ ├── README.md │ ├── metafile.yml │ ├── pisa_faster_rcnn_r50_fpn_1x_coco.py │ ├── pisa_faster_rcnn_x101_32x4d_fpn_1x_coco.py │ ├── pisa_mask_rcnn_r50_fpn_1x_coco.py │ ├── pisa_mask_rcnn_x101_32x4d_fpn_1x_coco.py │ ├── pisa_retinanet_r50_fpn_1x_coco.py │ ├── pisa_retinanet_x101_32x4d_fpn_1x_coco.py │ ├── pisa_ssd300_coco.py │ └── pisa_ssd512_coco.py ├── point_rend │ ├── README.md │ ├── metafile.yml │ ├── point_rend_r50_caffe_fpn_mstrain_1x_coco.py │ └── point_rend_r50_caffe_fpn_mstrain_3x_coco.py ├── pvt │ ├── README.md │ ├── metafile.yml │ ├── retinanet_pvt-l_fpn_1x_coco.py │ ├── retinanet_pvt-m_fpn_1x_coco.py │ ├── retinanet_pvt-s_fpn_1x_coco.py │ ├── retinanet_pvt-t_fpn_1x_coco.py │ ├── retinanet_pvtv2-b0_fpn_1x_coco.py │ ├── retinanet_pvtv2-b1_fpn_1x_coco.py │ ├── retinanet_pvtv2-b2_fpn_1x_coco.py │ ├── retinanet_pvtv2-b3_fpn_1x_coco.py │ ├── retinanet_pvtv2-b4_fpn_1x_coco.py │ └── retinanet_pvtv2-b5_fpn_1x_coco.py ├── queryinst │ ├── README.md │ ├── metafile.yml │ ├── queryinst_r101_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py │ ├── queryinst_r101_fpn_mstrain_480-800_3x_coco.py │ ├── queryinst_r50_fpn_1x_coco.py │ ├── queryinst_r50_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py │ └── queryinst_r50_fpn_mstrain_480-800_3x_coco.py ├── regnet │ ├── README.md │ ├── cascade_mask_rcnn_regnetx-1.6GF_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_regnetx-400MF_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_regnetx-4GF_fpn_mstrain_3x_coco.py │ ├── cascade_mask_rcnn_regnetx-800MF_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_regnetx-1.6GF_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_regnetx-3.2GF_fpn_1x_coco.py │ ├── faster_rcnn_regnetx-3.2GF_fpn_2x_coco.py │ ├── faster_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_regnetx-400MF_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_regnetx-4GF_fpn_mstrain_3x_coco.py │ ├── faster_rcnn_regnetx-800MF_fpn_mstrain_3x_coco.py │ ├── mask_rcnn_regnetx-1.6GF_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_regnetx-12GF_fpn_1x_coco.py │ ├── mask_rcnn_regnetx-3.2GF_fpn_1x_coco.py │ ├── mask_rcnn_regnetx-3.2GF_fpn_mdconv_c3-c5_1x_coco.py │ ├── mask_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py │ ├── mask_rcnn_regnetx-400MF_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_regnetx-4GF_fpn_1x_coco.py │ ├── mask_rcnn_regnetx-4GF_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_regnetx-6.4GF_fpn_1x_coco.py │ ├── mask_rcnn_regnetx-800MF_fpn_mstrain-poly_3x_coco.py │ ├── mask_rcnn_regnetx-8GF_fpn_1x_coco.py │ ├── metafile.yml │ ├── retinanet_regnetx-1.6GF_fpn_1x_coco.py │ ├── retinanet_regnetx-3.2GF_fpn_1x_coco.py │ └── retinanet_regnetx-800MF_fpn_1x_coco.py ├── reppoints │ ├── README.md │ ├── bbox_r50_grid_center_fpn_gn-neck+head_1x_coco.py │ ├── bbox_r50_grid_fpn_gn-neck+head_1x_coco.py │ ├── metafile.yml │ ├── reppoints.png │ ├── reppoints_minmax_r50_fpn_gn-neck+head_1x_coco.py │ ├── reppoints_moment_r101_fpn_dconv_c3-c5_gn-neck+head_2x_coco.py │ ├── reppoints_moment_r101_fpn_gn-neck+head_2x_coco.py │ ├── reppoints_moment_r50_fpn_1x_coco.py │ ├── reppoints_moment_r50_fpn_gn-neck+head_1x_coco.py │ ├── reppoints_moment_r50_fpn_gn-neck+head_2x_coco.py │ ├── reppoints_moment_x101_fpn_dconv_c3-c5_gn-neck+head_2x_coco.py │ └── reppoints_partial_minmax_r50_fpn_gn-neck+head_1x_coco.py ├── res2net │ ├── README.md │ ├── cascade_mask_rcnn_r2_101_fpn_20e_coco.py │ ├── cascade_rcnn_r2_101_fpn_20e_coco.py │ ├── faster_rcnn_r2_101_fpn_2x_coco.py │ ├── htc_r2_101_fpn_20e_coco.py │ ├── mask_rcnn_r2_101_fpn_2x_coco.py │ └── metafile.yml ├── resnest │ ├── README.md │ ├── cascade_mask_rcnn_s101_fpn_syncbn-backbone+head_mstrain_1x_coco.py │ ├── cascade_mask_rcnn_s50_fpn_syncbn-backbone+head_mstrain_1x_coco.py │ ├── cascade_rcnn_s101_fpn_syncbn-backbone+head_mstrain-range_1x_coco.py │ ├── cascade_rcnn_s50_fpn_syncbn-backbone+head_mstrain-range_1x_coco.py │ ├── faster_rcnn_s101_fpn_syncbn-backbone+head_mstrain-range_1x_coco.py │ ├── faster_rcnn_s50_fpn_syncbn-backbone+head_mstrain-range_1x_coco.py │ ├── mask_rcnn_s101_fpn_syncbn-backbone+head_mstrain_1x_coco.py │ ├── mask_rcnn_s50_fpn_syncbn-backbone+head_mstrain_1x_coco.py │ └── metafile.yml ├── retinanet │ ├── README.md │ ├── metafile.yml │ ├── retinanet_r101_caffe_fpn_1x_coco.py │ ├── retinanet_r101_caffe_fpn_mstrain_3x_coco.py │ ├── retinanet_r101_fpn_1x_coco.py │ ├── retinanet_r101_fpn_2x_coco.py │ ├── retinanet_r101_fpn_mstrain_640-800_3x_coco.py │ ├── retinanet_r50_caffe_fpn_1x_coco.py │ ├── retinanet_r50_caffe_fpn_mstrain_1x_coco.py │ ├── retinanet_r50_caffe_fpn_mstrain_2x_coco.py │ ├── retinanet_r50_caffe_fpn_mstrain_3x_coco.py │ ├── retinanet_r50_fpn_1x_coco.py │ ├── retinanet_r50_fpn_2x_coco.py │ ├── retinanet_r50_fpn_90k_coco.py │ ├── retinanet_r50_fpn_fp16_1x_coco.py │ ├── retinanet_r50_fpn_mstrain_640-800_3x_coco.py │ ├── retinanet_x101_32x4d_fpn_1x_coco.py │ ├── retinanet_x101_32x4d_fpn_2x_coco.py │ ├── retinanet_x101_64x4d_fpn_1x_coco.py │ ├── retinanet_x101_64x4d_fpn_2x_coco.py │ └── retinanet_x101_64x4d_fpn_mstrain_640-800_3x_coco.py ├── rpn │ ├── README.md │ ├── rpn_r101_caffe_fpn_1x_coco.py │ ├── rpn_r101_fpn_1x_coco.py │ ├── rpn_r101_fpn_2x_coco.py │ ├── rpn_r50_caffe_c4_1x_coco.py │ ├── rpn_r50_caffe_fpn_1x_coco.py │ ├── rpn_r50_fpn_1x_coco.py │ ├── rpn_r50_fpn_2x_coco.py │ ├── rpn_x101_32x4d_fpn_1x_coco.py │ ├── rpn_x101_32x4d_fpn_2x_coco.py │ ├── rpn_x101_64x4d_fpn_1x_coco.py │ └── rpn_x101_64x4d_fpn_2x_coco.py ├── sabl │ ├── README.md │ ├── metafile.yml │ ├── sabl_cascade_rcnn_r101_fpn_1x_coco.py │ ├── sabl_cascade_rcnn_r50_fpn_1x_coco.py │ ├── sabl_faster_rcnn_r101_fpn_1x_coco.py │ ├── sabl_faster_rcnn_r50_fpn_1x_coco.py │ ├── sabl_retinanet_r101_fpn_1x_coco.py │ ├── sabl_retinanet_r101_fpn_gn_1x_coco.py │ ├── sabl_retinanet_r101_fpn_gn_2x_ms_480_960_coco.py │ ├── sabl_retinanet_r101_fpn_gn_2x_ms_640_800_coco.py │ ├── sabl_retinanet_r50_fpn_1x_coco.py │ └── sabl_retinanet_r50_fpn_gn_1x_coco.py ├── scnet │ ├── README.md │ ├── metafile.yml │ ├── scnet_r101_fpn_20e_coco.py │ ├── scnet_r50_fpn_1x_coco.py │ ├── scnet_r50_fpn_20e_coco.py │ ├── scnet_x101_64x4d_fpn_20e_coco.py │ └── scnet_x101_64x4d_fpn_8x1_20e_coco.py ├── scratch │ ├── README.md │ ├── faster_rcnn_r50_fpn_gn-all_scratch_6x_coco.py │ ├── mask_rcnn_r50_fpn_gn-all_scratch_6x_coco.py │ └── metafile.yml ├── seesaw_loss │ ├── README.md │ ├── cascade_mask_rcnn_r101_fpn_random_seesaw_loss_mstrain_2x_lvis_v1.py │ ├── cascade_mask_rcnn_r101_fpn_random_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py │ ├── cascade_mask_rcnn_r101_fpn_sample1e-3_seesaw_loss_mstrain_2x_lvis_v1.py │ ├── cascade_mask_rcnn_r101_fpn_sample1e-3_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py │ ├── mask_rcnn_r101_fpn_random_seesaw_loss_mstrain_2x_lvis_v1.py │ ├── mask_rcnn_r101_fpn_random_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py │ ├── mask_rcnn_r101_fpn_sample1e-3_seesaw_loss_mstrain_2x_lvis_v1.py │ ├── mask_rcnn_r101_fpn_sample1e-3_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py │ ├── mask_rcnn_r50_fpn_random_seesaw_loss_mstrain_2x_lvis_v1.py │ ├── mask_rcnn_r50_fpn_random_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py │ ├── mask_rcnn_r50_fpn_sample1e-3_seesaw_loss_mstrain_2x_lvis_v1.py │ ├── mask_rcnn_r50_fpn_sample1e-3_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py │ └── metafile.yml ├── selfsup_pretrain │ ├── README.md │ ├── mask_rcnn_r50_fpn_mocov2-pretrain_1x_coco.py │ ├── mask_rcnn_r50_fpn_mocov2-pretrain_ms-2x_coco.py │ ├── mask_rcnn_r50_fpn_swav-pretrain_1x_coco.py │ └── mask_rcnn_r50_fpn_swav-pretrain_ms-2x_coco.py ├── solo │ ├── README.md │ ├── decoupled_solo_light_r50_fpn_3x_coco.py │ ├── decoupled_solo_r50_fpn_1x_coco.py │ ├── decoupled_solo_r50_fpn_3x_coco.py │ ├── metafile.yml │ ├── solo_r50_fpn_1x_coco.py │ └── solo_r50_fpn_3x_coco.py ├── sparse_rcnn │ ├── README.md │ ├── metafile.yml │ ├── sparse_rcnn_r101_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py │ ├── sparse_rcnn_r101_fpn_mstrain_480-800_3x_coco.py │ ├── sparse_rcnn_r50_fpn_1x_coco.py │ ├── sparse_rcnn_r50_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py │ └── sparse_rcnn_r50_fpn_mstrain_480-800_3x_coco.py ├── ssd │ ├── README.md │ ├── metafile.yml │ ├── ssd300_coco.py │ ├── ssd512_coco.py │ └── ssdlite_mobilenetv2_scratch_600e_coco.py ├── strong_baselines │ ├── README.md │ ├── mask_rcnn_r50_caffe_fpn_syncbn-all_rpn-2conv_lsj_100e_coco.py │ ├── mask_rcnn_r50_caffe_fpn_syncbn-all_rpn-2conv_lsj_100e_fp16_coco.py │ ├── mask_rcnn_r50_caffe_fpn_syncbn-all_rpn-2conv_lsj_400e_coco.py │ ├── mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_lsj_100e_coco.py │ ├── mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_lsj_100e_fp16_coco.py │ └── mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_lsj_50e_coco.py ├── swin │ ├── README.md │ ├── mask_rcnn_swin-s-p4-w7_fpn_fp16_ms-crop-3x_coco.py │ ├── mask_rcnn_swin-t-p4-w7_fpn_1x_coco.py │ ├── mask_rcnn_swin-t-p4-w7_fpn_fp16_ms-crop-3x_coco.py │ ├── mask_rcnn_swin-t-p4-w7_fpn_ms-crop-3x_coco.py │ ├── metafile.yml │ └── retinanet_swin-t-p4-w7_fpn_1x_coco.py ├── tridentnet │ ├── README.md │ ├── metafile.yml │ ├── tridentnet_r50_caffe_1x_coco.py │ ├── tridentnet_r50_caffe_mstrain_1x_coco.py │ └── tridentnet_r50_caffe_mstrain_3x_coco.py ├── vfnet │ ├── README.md │ ├── metafile.yml │ ├── vfnet_r101_fpn_1x_coco.py │ ├── vfnet_r101_fpn_2x_coco.py │ ├── vfnet_r101_fpn_mdconv_c3-c5_mstrain_2x_coco.py │ ├── vfnet_r101_fpn_mstrain_2x_coco.py │ ├── vfnet_r2_101_fpn_mdconv_c3-c5_mstrain_2x_coco.py │ ├── vfnet_r2_101_fpn_mstrain_2x_coco.py │ ├── vfnet_r50_fpn_1x_coco.py │ ├── vfnet_r50_fpn_mdconv_c3-c5_mstrain_2x_coco.py │ ├── vfnet_r50_fpn_mstrain_2x_coco.py │ ├── vfnet_x101_32x4d_fpn_mdconv_c3-c5_mstrain_2x_coco.py │ ├── vfnet_x101_32x4d_fpn_mstrain_2x_coco.py │ ├── vfnet_x101_64x4d_fpn_mdconv_c3-c5_mstrain_2x_coco.py │ └── vfnet_x101_64x4d_fpn_mstrain_2x_coco.py ├── wider_face │ ├── README.md │ └── ssd300_wider_face.py ├── yolact │ ├── README.md │ ├── metafile.yml │ ├── yolact_r101_1x8_coco.py │ ├── yolact_r50_1x8_coco.py │ └── yolact_r50_8x8_coco.py ├── yolo │ ├── README.md │ ├── metafile.yml │ ├── yolov3_d53_320_273e_coco.py │ ├── yolov3_d53_fp16_mstrain-608_273e_coco.py │ ├── yolov3_d53_mstrain-416_273e_coco.py │ ├── yolov3_d53_mstrain-608_273e_coco.py │ ├── yolov3_mobilenetv2_320_300e_coco.py │ └── yolov3_mobilenetv2_mstrain-416_300e_coco.py ├── yolof │ ├── README.md │ ├── metafile.yml │ ├── yolof_r50_c5_8x8_1x_coco.py │ └── yolof_r50_c5_8x8_iter-1x_coco.py └── yolox │ ├── README.md │ ├── metafile.yml │ ├── yolox_l_8x8_300e_coco.py │ ├── yolox_m_8x8_300e_coco.py │ ├── yolox_nano_8x8_300e_coco.py │ ├── yolox_s_8x8_300e_coco.py │ ├── yolox_tiny_8x8_300e_coco.py │ └── yolox_x_8x8_300e_coco.py ├── demo ├── MMDet_Tutorial.ipynb ├── create_result_gif.py ├── demo.jpg ├── demo.mp4 ├── image_demo.py ├── inference_demo.ipynb ├── video_demo.py └── webcam_demo.py ├── docker ├── Dockerfile └── serve │ ├── Dockerfile │ ├── config.properties │ └── entrypoint.sh ├── docs ├── en │ ├── 1_exist_data_model.md │ ├── 2_new_data_model.md │ ├── 3_exist_data_new_model.md │ ├── Makefile │ ├── _static │ │ ├── css │ │ │ └── readthedocs.css │ │ └── image │ │ │ └── mmdet-logo.png │ ├── api.rst │ ├── changelog.md │ ├── compatibility.md │ ├── conf.py │ ├── conventions.md │ ├── faq.md │ ├── get_started.md │ ├── index.rst │ ├── make.bat │ ├── model_zoo.md │ ├── projects.md │ ├── robustness_benchmarking.md │ ├── stat.py │ ├── switch_language.md │ ├── tutorials │ │ ├── config.md │ │ ├── customize_dataset.md │ │ ├── customize_losses.md │ │ ├── customize_models.md │ │ ├── customize_runtime.md │ │ ├── data_pipeline.md │ │ ├── finetune.md │ │ ├── index.rst │ │ ├── init_cfg.md │ │ ├── onnx2tensorrt.md │ │ └── pytorch2onnx.md │ └── useful_tools.md └── zh_cn │ ├── 1_exist_data_model.md │ ├── 2_new_data_model.md │ ├── 3_exist_data_new_model.md │ ├── Makefile │ ├── _static │ ├── css │ │ └── readthedocs.css │ └── image │ │ └── mmdet-logo.png │ ├── api.rst │ ├── compatibility.md │ ├── conf.py │ ├── conventions.md │ ├── faq.md │ ├── get_started.md │ ├── index.rst │ ├── make.bat │ ├── model_zoo.md │ ├── projects.md │ ├── robustness_benchmarking.md │ ├── stat.py │ ├── switch_language.md │ ├── tutorials │ ├── config.md │ ├── customize_dataset.md │ ├── customize_losses.md │ ├── customize_models.md │ ├── customize_runtime.md │ ├── data_pipeline.md │ ├── finetune.md │ ├── index.rst │ ├── onnx2tensorrt.md │ └── pytorch2onnx.md │ └── useful_tools.md ├── mmdet ├── __init__.py ├── apis │ ├── __init__.py │ ├── inference.py │ ├── test.py │ └── train.py ├── core │ ├── __init__.py │ ├── anchor │ │ ├── __init__.py │ │ ├── anchor_generator.py │ │ ├── builder.py │ │ ├── point_generator.py │ │ └── utils.py │ ├── bbox │ │ ├── __init__.py │ │ ├── assigners │ │ │ ├── __init__.py │ │ │ ├── approx_max_iou_assigner.py │ │ │ ├── assign_result.py │ │ │ ├── atss_assigner.py │ │ │ ├── base_assigner.py │ │ │ ├── center_region_assigner.py │ │ │ ├── grid_assigner.py │ │ │ ├── hungarian_assigner.py │ │ │ ├── max_iou_assigner.py │ │ │ ├── point_assigner.py │ │ │ ├── region_assigner.py │ │ │ ├── sim_ota_assigner.py │ │ │ └── uniform_assigner.py │ │ ├── builder.py │ │ ├── coder │ │ │ ├── __init__.py │ │ │ ├── base_bbox_coder.py │ │ │ ├── bucketing_bbox_coder.py │ │ │ ├── delta_xywh_bbox_coder.py │ │ │ ├── distance_point_bbox_coder.py │ │ │ ├── legacy_delta_xywh_bbox_coder.py │ │ │ ├── pseudo_bbox_coder.py │ │ │ ├── tblr_bbox_coder.py │ │ │ └── yolo_bbox_coder.py │ │ ├── demodata.py │ │ ├── iou_calculators │ │ │ ├── __init__.py │ │ │ ├── builder.py │ │ │ └── iou2d_calculator.py │ │ ├── match_costs │ │ │ ├── __init__.py │ │ │ ├── builder.py │ │ │ └── match_cost.py │ │ ├── samplers │ │ │ ├── __init__.py │ │ │ ├── base_sampler.py │ │ │ ├── combined_sampler.py │ │ │ ├── instance_balanced_pos_sampler.py │ │ │ ├── iou_balanced_neg_sampler.py │ │ │ ├── ohem_sampler.py │ │ │ ├── pseudo_sampler.py │ │ │ ├── random_sampler.py │ │ │ ├── sampling_result.py │ │ │ └── score_hlr_sampler.py │ │ └── transforms.py │ ├── data_structures │ │ ├── __init__.py │ │ ├── general_data.py │ │ └── instance_data.py │ ├── evaluation │ │ ├── __init__.py │ │ ├── bbox_overlaps.py │ │ ├── class_names.py │ │ ├── eval_hooks.py │ │ ├── mean_ap.py │ │ └── recall.py │ ├── export │ │ ├── __init__.py │ │ ├── model_wrappers.py │ │ ├── onnx_helper.py │ │ └── pytorch2onnx.py │ ├── hook │ │ ├── __init__.py │ │ ├── checkloss_hook.py │ │ ├── ema.py │ │ ├── optimal_transport_hook.py │ │ ├── sync_norm_hook.py │ │ ├── sync_random_size_hook.py │ │ ├── yolox_lrupdater_hook.py │ │ └── yolox_mode_switch_hook.py │ ├── mask │ │ ├── __init__.py │ │ ├── mask_target.py │ │ ├── structures.py │ │ └── utils.py │ ├── post_processing │ │ ├── __init__.py │ │ ├── bbox_nms.py │ │ ├── matrix_nms.py │ │ └── merge_augs.py │ ├── ufp │ │ ├── __init__.py │ │ ├── spp.py │ │ └── unified_foreground_packing.py │ ├── utils │ │ ├── __init__.py │ │ ├── dist_utils.py │ │ └── misc.py │ └── visualization │ │ ├── __init__.py │ │ └── image.py ├── datasets │ ├── UAVDT.py │ ├── VisDrone.py │ ├── __init__.py │ ├── api_wrappers │ │ ├── __init__.py │ │ ├── coco_api.py │ │ └── panoptic_evaluation.py │ ├── builder.py │ ├── cityscapes.py │ ├── coco.py │ ├── coco_panoptic.py │ ├── custom.py │ ├── dataset_wrappers.py │ ├── deepfashion.py │ ├── lvis.py │ ├── pipelines │ │ ├── __init__.py │ │ ├── auto_augment.py │ │ ├── compose.py │ │ ├── formating.py │ │ ├── instaboost.py │ │ ├── loading.py │ │ ├── test_time_aug.py │ │ └── transforms.py │ ├── samplers │ │ ├── __init__.py │ │ ├── distributed_sampler.py │ │ ├── group_sampler.py │ │ └── infinite_sampler.py │ ├── utils.py │ ├── voc.py │ ├── wider_face.py │ └── xml_style.py ├── models │ ├── __init__.py │ ├── backbones │ │ ├── __init__.py │ │ ├── csp_darknet.py │ │ ├── darknet.py │ │ ├── detectors_resnet.py │ │ ├── detectors_resnext.py │ │ ├── hourglass.py │ │ ├── hrnet.py │ │ ├── mobilenet_v2.py │ │ ├── pvt.py │ │ ├── regnet.py │ │ ├── res2net.py │ │ ├── resnest.py │ │ ├── resnet.py │ │ ├── resnext.py │ │ ├── ssd_vgg.py │ │ ├── swin.py │ │ └── trident_resnet.py │ ├── builder.py │ ├── dense_heads │ │ ├── __init__.py │ │ ├── anchor_free_head.py │ │ ├── anchor_head.py │ │ ├── atss_head.py │ │ ├── autoassign_head.py │ │ ├── base_dense_head.py │ │ ├── base_mask_head.py │ │ ├── cascade_rpn_head.py │ │ ├── centernet_head.py │ │ ├── centripetal_head.py │ │ ├── corner_head.py │ │ ├── deformable_detr_head.py │ │ ├── dense_test_mixins.py │ │ ├── detr_head.py │ │ ├── embedding_rpn_head.py │ │ ├── fcos_head.py │ │ ├── fovea_head.py │ │ ├── free_anchor_retina_head.py │ │ ├── fsaf_head.py │ │ ├── ga_retina_head.py │ │ ├── ga_rpn_head.py │ │ ├── gfl_head.py │ │ ├── guided_anchor_head.py │ │ ├── lad_head.py │ │ ├── ld_head.py │ │ ├── mp_head.py │ │ ├── nasfcos_head.py │ │ ├── paa_head.py │ │ ├── pisa_retinanet_head.py │ │ ├── pisa_ssd_head.py │ │ ├── reppoints_head.py │ │ ├── retina_head.py │ │ ├── retina_sepbn_head.py │ │ ├── rpn_head.py │ │ ├── sabl_retina_head.py │ │ ├── solo_head.py │ │ ├── ssd_head.py │ │ ├── vfnet_head.py │ │ ├── yolact_head.py │ │ ├── yolo_head.py │ │ ├── yolof_head.py │ │ └── yolox_head.py │ ├── detectors │ │ ├── __init__.py │ │ ├── atss.py │ │ ├── autoassign.py │ │ ├── base.py │ │ ├── cascade_rcnn.py │ │ ├── centernet.py │ │ ├── cornernet.py │ │ ├── deformable_detr.py │ │ ├── detr.py │ │ ├── fast_rcnn.py │ │ ├── faster_rcnn.py │ │ ├── fcos.py │ │ ├── fovea.py │ │ ├── fsaf.py │ │ ├── gfl.py │ │ ├── grid_rcnn.py │ │ ├── htc.py │ │ ├── kd_one_stage.py │ │ ├── lad.py │ │ ├── mask_rcnn.py │ │ ├── mask_scoring_rcnn.py │ │ ├── mpdet.py │ │ ├── nasfcos.py │ │ ├── paa.py │ │ ├── panoptic_fpn.py │ │ ├── panoptic_two_stage_segmentor.py │ │ ├── point_rend.py │ │ ├── queryinst.py │ │ ├── reppoints_detector.py │ │ ├── retinanet.py │ │ ├── rpn.py │ │ ├── scnet.py │ │ ├── single_stage.py │ │ ├── single_stage_instance_seg.py │ │ ├── solo.py │ │ ├── sparse_rcnn.py │ │ ├── trident_faster_rcnn.py │ │ ├── two_stage.py │ │ ├── ufpmp_det.py │ │ ├── vfnet.py │ │ ├── yolact.py │ │ ├── yolo.py │ │ ├── yolof.py │ │ └── yolox.py │ ├── losses │ │ ├── __init__.py │ │ ├── accuracy.py │ │ ├── ae_loss.py │ │ ├── balanced_l1_loss.py │ │ ├── cross_entropy_loss.py │ │ ├── dice_loss.py │ │ ├── focal_loss.py │ │ ├── gaussian_focal_loss.py │ │ ├── gfocal_loss.py │ │ ├── ghm_loss.py │ │ ├── iou_loss.py │ │ ├── kd_loss.py │ │ ├── mse_loss.py │ │ ├── pisa_loss.py │ │ ├── seesaw_loss.py │ │ ├── smooth_l1_loss.py │ │ ├── utils.py │ │ └── varifocal_loss.py │ ├── necks │ │ ├── __init__.py │ │ ├── bfp.py │ │ ├── channel_mapper.py │ │ ├── ct_resnet_neck.py │ │ ├── dilated_encoder.py │ │ ├── fpg.py │ │ ├── fpn.py │ │ ├── fpn_carafe.py │ │ ├── hrfpn.py │ │ ├── nas_fpn.py │ │ ├── nasfcos_fpn.py │ │ ├── pafpn.py │ │ ├── rfp.py │ │ ├── ssd_neck.py │ │ ├── yolo_neck.py │ │ └── yolox_pafpn.py │ ├── plugins │ │ ├── __init__.py │ │ └── dropblock.py │ ├── roi_heads │ │ ├── __init__.py │ │ ├── base_roi_head.py │ │ ├── bbox_heads │ │ │ ├── __init__.py │ │ │ ├── bbox_head.py │ │ │ ├── convfc_bbox_head.py │ │ │ ├── dii_head.py │ │ │ ├── double_bbox_head.py │ │ │ ├── sabl_head.py │ │ │ └── scnet_bbox_head.py │ │ ├── cascade_roi_head.py │ │ ├── double_roi_head.py │ │ ├── dynamic_roi_head.py │ │ ├── grid_roi_head.py │ │ ├── htc_roi_head.py │ │ ├── mask_heads │ │ │ ├── __init__.py │ │ │ ├── coarse_mask_head.py │ │ │ ├── dynamic_mask_head.py │ │ │ ├── fcn_mask_head.py │ │ │ ├── feature_relay_head.py │ │ │ ├── fused_semantic_head.py │ │ │ ├── global_context_head.py │ │ │ ├── grid_head.py │ │ │ ├── htc_mask_head.py │ │ │ ├── mask_point_head.py │ │ │ ├── maskiou_head.py │ │ │ ├── scnet_mask_head.py │ │ │ └── scnet_semantic_head.py │ │ ├── mask_scoring_roi_head.py │ │ ├── pisa_roi_head.py │ │ ├── point_rend_roi_head.py │ │ ├── roi_extractors │ │ │ ├── __init__.py │ │ │ ├── base_roi_extractor.py │ │ │ ├── generic_roi_extractor.py │ │ │ └── single_level_roi_extractor.py │ │ ├── scnet_roi_head.py │ │ ├── shared_heads │ │ │ ├── __init__.py │ │ │ └── res_layer.py │ │ ├── sparse_roi_head.py │ │ ├── standard_roi_head.py │ │ ├── test_mixins.py │ │ └── trident_roi_head.py │ ├── seg_heads │ │ ├── __init__.py │ │ ├── base_semantic_head.py │ │ ├── panoptic_fpn_head.py │ │ └── panoptic_fusion_heads │ │ │ ├── __init__.py │ │ │ ├── base_panoptic_fusion_head.py │ │ │ └── heuristic_fusion_head.py │ └── utils │ │ ├── __init__.py │ │ ├── brick_wrappers.py │ │ ├── builder.py │ │ ├── ckpt_convert.py │ │ ├── conv_upsample.py │ │ ├── csp_layer.py │ │ ├── gaussian_target.py │ │ ├── inverted_residual.py │ │ ├── make_divisible.py │ │ ├── misc.py │ │ ├── normed_predictor.py │ │ ├── positional_encoding.py │ │ ├── res_layer.py │ │ ├── se_layer.py │ │ └── transformer.py ├── utils │ ├── __init__.py │ ├── collect_env.py │ ├── contextmanagers.py │ ├── logger.py │ ├── profiling.py │ ├── util_mixins.py │ └── util_random.py └── version.py ├── model-index.yml ├── pytest.ini ├── requirements.txt ├── requirements ├── build.txt ├── docs.txt ├── mminstall.txt ├── optional.txt ├── readthedocs.txt ├── runtime.txt └── tests.txt ├── resources ├── coco_test_12510.jpg ├── corruptions_sev_3.png ├── data_pipeline.png ├── loss_curve.png ├── mmdet-logo.png ├── qq_group_qrcode.jpg └── zhihu_qrcode.jpg ├── setup.cfg ├── setup.py ├── tests ├── test_data │ ├── test_datasets │ │ ├── test_coco_dataset.py │ │ ├── test_common.py │ │ ├── test_custom_dataset.py │ │ ├── test_dataset_wrapper.py │ │ ├── test_panoptic_dataset.py │ │ └── test_xml_dataset.py │ ├── test_pipelines │ │ ├── test_formatting.py │ │ ├── test_loading.py │ │ ├── test_sampler.py │ │ └── test_transform │ │ │ ├── __init__.py │ │ │ ├── test_img_augment.py │ │ │ ├── test_models_aug_test.py │ │ │ ├── test_rotate.py │ │ │ ├── test_shear.py │ │ │ ├── test_transform.py │ │ │ ├── test_translate.py │ │ │ └── utils.py │ └── test_utils.py ├── test_downstream │ └── test_mmtrack.py ├── test_metrics │ ├── test_box_overlap.py │ ├── test_losses.py │ ├── test_mean_ap.py │ └── test_recall.py ├── test_models │ ├── test_backbones │ │ ├── __init__.py │ │ ├── test_csp_darknet.py │ │ ├── test_detectors_resnet.py │ │ ├── test_hourglass.py │ │ ├── test_hrnet.py │ │ ├── test_mobilenet_v2.py │ │ ├── test_pvt.py │ │ ├── test_regnet.py │ │ ├── test_renext.py │ │ ├── test_res2net.py │ │ ├── test_resnest.py │ │ ├── test_resnet.py │ │ ├── test_swin.py │ │ ├── test_trident_resnet.py │ │ └── utils.py │ ├── test_dense_heads │ │ ├── test_anchor_head.py │ │ ├── test_atss_head.py │ │ ├── test_autoassign_head.py │ │ ├── test_centernet_head.py │ │ ├── test_corner_head.py │ │ ├── test_dense_heads_attr.py │ │ ├── test_detr_head.py │ │ ├── test_fcos_head.py │ │ ├── test_fsaf_head.py │ │ ├── test_ga_anchor_head.py │ │ ├── test_gfl_head.py │ │ ├── test_lad_head.py │ │ ├── test_ld_head.py │ │ ├── test_paa_head.py │ │ ├── test_pisa_head.py │ │ ├── test_sabl_retina_head.py │ │ ├── test_solo_head.py │ │ ├── test_vfnet_head.py │ │ ├── test_yolact_head.py │ │ ├── test_yolof_head.py │ │ └── test_yolox_head.py │ ├── test_forward.py │ ├── test_loss.py │ ├── test_loss_compatibility.py │ ├── test_necks.py │ ├── test_plugins.py │ ├── test_roi_heads │ │ ├── __init__.py │ │ ├── test_bbox_head.py │ │ ├── test_mask_head.py │ │ ├── test_roi_extractor.py │ │ ├── test_sabl_bbox_head.py │ │ └── utils.py │ └── test_utils │ │ ├── test_brick_wrappers.py │ │ ├── test_conv_upsample.py │ │ ├── test_inverted_residual.py │ │ ├── test_model_misc.py │ │ ├── test_position_encoding.py │ │ ├── test_se_layer.py │ │ └── test_transformer.py ├── test_onnx │ ├── __init__.py │ ├── test_head.py │ ├── test_neck.py │ └── utils.py ├── test_runtime │ ├── async_benchmark.py │ ├── test_async.py │ ├── test_config.py │ ├── test_eval_hook.py │ └── test_fp16.py └── test_utils │ ├── test_anchor.py │ ├── test_assigner.py │ ├── test_coder.py │ ├── test_general_data.py │ ├── test_hook.py │ ├── test_masks.py │ ├── test_misc.py │ ├── test_nms.py │ ├── test_version.py │ └── test_visualization.py └── tools ├── analysis_tools ├── analyze_logs.py ├── analyze_results.py ├── benchmark.py ├── coco_error_analysis.py ├── confusion_matrix.py ├── eval_metric.py ├── get_flops.py ├── optimize_anchors.py ├── robustness_eval.py └── test_robustness.py ├── dataset_converters ├── cityscapes.py ├── images2coco.py └── pascal_voc.py ├── deployment ├── mmdet2torchserve.py ├── mmdet_handler.py ├── onnx2tensorrt.py ├── pytorch2onnx.py ├── test.py └── test_torchserver.py ├── dist_test.sh ├── dist_train.sh ├── misc ├── browse_dataset.py └── print_config.py ├── model_converters ├── detectron2pytorch.py ├── publish_model.py ├── regnet2mmdet.py ├── selfsup2mmdet.py ├── upgrade_model_version.py └── upgrade_ssd_version.py ├── slurm_test.sh ├── slurm_train.sh ├── test.py └── train.py /.dev_scripts/linter.sh: -------------------------------------------------------------------------------- 1 | yapf -r -i mmdet/ configs/ tests/ tools/ 2 | isort -rc mmdet/ configs/ tests/ tools/ 3 | flake8 . 4 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | We appreciate all contributions to improve MMDetection. Please refer to [CONTRIBUTING.md](https://github.com/open-mmlab/mmcv/blob/master/CONTRIBUTING.md) in MMCV for more details about the contributing guideline. 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | 3 | contact_links: 4 | - name: Common Issues 5 | url: https://mmdetection.readthedocs.io/en/latest/faq.html 6 | about: Check if your issue already has solutions 7 | - name: MMDetection Documentation 8 | url: https://mmdetection.readthedocs.io/en/latest/ 9 | about: Check if your question is answered in docs 10 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/general_questions.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: General questions 3 | about: Ask general questions to get help 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | formats: all 4 | 5 | python: 6 | version: 3.7 7 | install: 8 | - requirements: requirements/docs.txt 9 | - requirements: requirements/readthedocs.txt 10 | -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- 1 | cff-version: 1.2.0 2 | message: "If you use this software, please cite it as below." 3 | authors: 4 | - name: "MMDetection Contributors" 5 | title: "OpenMMLab Detection Toolbox and Benchmark" 6 | date-released: 2018-08-22 7 | url: "https://github.com/open-mmlab/mmdetection" 8 | license: Apache-2.0 9 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include requirements/*.txt 2 | include mmdet/VERSION 3 | include mmdet/.mim/model-index.yml 4 | include mmdet/.mim/demo/*/* 5 | recursive-include mmdet/.mim/configs *.py *.yml 6 | recursive-include mmdet/.mim/tools *.sh *.py 7 | -------------------------------------------------------------------------------- /UFPMP-Det-Tools/eval_script/example.sh: -------------------------------------------------------------------------------- 1 | CUDA_VISIBLE_DEVICES=2 python UFPMP-Det-Tools/eval_script/ufpmp_det_eval.py \ 2 | ./configs/UFPMP-Det/coarse_det.py \ 3 | ./work_dirs/coarse_det/epoch_12.pth \ 4 | ./configs/UFPMP-Det/mp_det_res50.py \ 5 | ./work_dirs/mp_det_res50/epoch_12.pth \ 6 | /home/huangyecheng_2019/dataset/COCO/annotations/instances_UAVval_v1.json \ 7 | /home/huangyecheng_2019/dataset/COCO/images/UAVval 8 | -------------------------------------------------------------------------------- /UFPMP-Det-Tools/ufp/__init__.py: -------------------------------------------------------------------------------- 1 | from .spp import * 2 | from .unified_foreground_packing import * 3 | 4 | __all__ = [ 5 | 'phsppog', 'UnifiedForegroundPacking' 6 | ] 7 | -------------------------------------------------------------------------------- /configs/_base_/default_runtime.py: -------------------------------------------------------------------------------- 1 | checkpoint_config = dict(interval=1) 2 | # yapf:disable 3 | log_config = dict( 4 | interval=50, 5 | hooks=[ 6 | dict(type='TextLoggerHook'), 7 | # dict(type='TensorboardLoggerHook') 8 | ]) 9 | # yapf:enable 10 | custom_hooks = [dict(type='NumClassCheckHook')] 11 | 12 | dist_params = dict(backend='nccl') 13 | log_level = 'INFO' 14 | load_from = None 15 | resume_from = None 16 | workflow = [('train', 1)] 17 | -------------------------------------------------------------------------------- /configs/_base_/schedules/schedule_1x.py: -------------------------------------------------------------------------------- 1 | # optimizer 2 | optimizer = dict(type='SGD', lr=0.02, momentum=0.9, weight_decay=0.0001) 3 | optimizer_config = dict(grad_clip=None) 4 | # learning policy 5 | lr_config = dict( 6 | policy='step', 7 | warmup='linear', 8 | warmup_iters=500, 9 | warmup_ratio=0.001, 10 | step=[8, 11]) 11 | runner = dict(type='EpochBasedRunner', max_epochs=12) 12 | -------------------------------------------------------------------------------- /configs/_base_/schedules/schedule_20e.py: -------------------------------------------------------------------------------- 1 | # optimizer 2 | optimizer = dict(type='SGD', lr=0.02, momentum=0.9, weight_decay=0.0001) 3 | optimizer_config = dict(grad_clip=None) 4 | # learning policy 5 | lr_config = dict( 6 | policy='step', 7 | warmup='linear', 8 | warmup_iters=500, 9 | warmup_ratio=0.001, 10 | step=[16, 19]) 11 | runner = dict(type='EpochBasedRunner', max_epochs=20) 12 | -------------------------------------------------------------------------------- /configs/_base_/schedules/schedule_2x.py: -------------------------------------------------------------------------------- 1 | # optimizer 2 | optimizer = dict(type='SGD', lr=0.02, momentum=0.9, weight_decay=0.0001) 3 | optimizer_config = dict(grad_clip=None) 4 | # learning policy 5 | lr_config = dict( 6 | policy='step', 7 | warmup='linear', 8 | warmup_iters=500, 9 | warmup_ratio=0.001, 10 | step=[16, 22]) 11 | runner = dict(type='EpochBasedRunner', max_epochs=24) 12 | -------------------------------------------------------------------------------- /configs/atss/atss_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './atss_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_r101_caffe_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_caffe_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_r101_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_r101_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/cascade_mask_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_instance.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/cascade_mask_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_instance.py', 4 | '../_base_/schedules/schedule_20e.py', '../_base_/default_runtime.py' 5 | ] 6 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../common/mstrain_3x_coco_instance.py', 3 | '../_base_/models/cascade_mask_rcnn_r50_fpn.py' 4 | ] 5 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_x101_32x4d_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_x101_32x4d_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_x101_64x4d_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_mask_rcnn_x101_64x4d_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_rcnn_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_rcnn_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_rcnn_r101_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_r50_fpn_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/cascade_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_detection.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_rcnn_r50_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_r50_fpn_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 19]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=20) 5 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_rcnn_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_rcnn_x101_32x4d_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_r50_fpn_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_rcnn_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | type='CascadeRCNN', 4 | backbone=dict( 5 | type='ResNeXt', 6 | depth=101, 7 | groups=64, 8 | base_width=4, 9 | num_stages=4, 10 | out_indices=(0, 1, 2, 3), 11 | frozen_stages=1, 12 | norm_cfg=dict(type='BN', requires_grad=True), 13 | style='pytorch', 14 | init_cfg=dict( 15 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 16 | -------------------------------------------------------------------------------- /configs/cascade_rcnn/cascade_rcnn_x101_64x4d_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_r50_fpn_20e_coco.py' 2 | model = dict( 3 | type='CascadeRCNN', 4 | backbone=dict( 5 | type='ResNeXt', 6 | depth=101, 7 | groups=64, 8 | base_width=4, 9 | num_stages=4, 10 | out_indices=(0, 1, 2, 3), 11 | frozen_stages=1, 12 | norm_cfg=dict(type='BN', requires_grad=True), 13 | style='pytorch', 14 | init_cfg=dict( 15 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 16 | -------------------------------------------------------------------------------- /configs/centernet/centernet_resnet18_140e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './centernet_resnet18_dcnv2_140e_coco.py' 2 | 3 | model = dict(neck=dict(use_dcn=False)) 4 | -------------------------------------------------------------------------------- /configs/dcn/cascade_mask_rcnn_r101_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_mask_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/cascade_mask_rcnn_r50_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/cascade_mask_rcnn_x101_32x4d_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_mask_rcnn_x101_32x4d_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/cascade_rcnn_r101_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/cascade_rcnn_r50_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/faster_rcnn_r101_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/faster_rcnn_r50_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/faster_rcnn_r50_fpn_dpool_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | roi_head=dict( 4 | bbox_roi_extractor=dict( 5 | type='SingleRoIExtractor', 6 | roi_layer=dict( 7 | _delete_=True, 8 | type='DeformRoIPoolPack', 9 | output_size=7, 10 | output_channels=256), 11 | out_channels=256, 12 | featmap_strides=[4, 8, 16, 32]))) 13 | -------------------------------------------------------------------------------- /configs/dcn/faster_rcnn_r50_fpn_mdconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCNv2', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/faster_rcnn_r50_fpn_mdconv_c3-c5_group4_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCNv2', deform_groups=4, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/faster_rcnn_r50_fpn_mdpool_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | roi_head=dict( 4 | bbox_roi_extractor=dict( 5 | type='SingleRoIExtractor', 6 | roi_layer=dict( 7 | _delete_=True, 8 | type='ModulatedDeformRoIPoolPack', 9 | output_size=7, 10 | output_channels=256), 11 | out_channels=256, 12 | featmap_strides=[4, 8, 16, 32]))) 13 | -------------------------------------------------------------------------------- /configs/dcn/faster_rcnn_x101_32x4d_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 14 | stage_with_dcn=(False, True, True, True), 15 | init_cfg=dict( 16 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 17 | -------------------------------------------------------------------------------- /configs/dcn/mask_rcnn_r101_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/mask_rcnn_r50_fpn_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/dcn/mask_rcnn_r50_fpn_fp16_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | 7 | fp16 = dict(loss_scale=512.) 8 | -------------------------------------------------------------------------------- /configs/dcn/mask_rcnn_r50_fpn_fp16_mdconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCNv2', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | 7 | fp16 = dict(loss_scale=512.) 8 | -------------------------------------------------------------------------------- /configs/dcn/mask_rcnn_r50_fpn_mdconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCNv2', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True))) 6 | -------------------------------------------------------------------------------- /configs/deepfashion/mask_rcnn_r50_fpn_15e_deepfashion.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/mask_rcnn_r50_fpn.py', 3 | '../_base_/datasets/deepfashion.py', '../_base_/schedules/schedule_1x.py', 4 | '../_base_/default_runtime.py' 5 | ] 6 | model = dict( 7 | roi_head=dict( 8 | bbox_head=dict(num_classes=15), mask_head=dict(num_classes=15))) 9 | # runtime settings 10 | runner = dict(type='EpochBasedRunner', max_epochs=15) 11 | -------------------------------------------------------------------------------- /configs/deformable_detr/deformable_detr_refine_r50_16x2_50e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'deformable_detr_r50_16x2_50e_coco.py' 2 | model = dict(bbox_head=dict(with_box_refine=True)) 3 | -------------------------------------------------------------------------------- /configs/deformable_detr/deformable_detr_twostage_refine_r50_16x2_50e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'deformable_detr_refine_r50_16x2_50e_coco.py' 2 | model = dict(bbox_head=dict(as_two_stage=True)) 3 | -------------------------------------------------------------------------------- /configs/detectors/cascade_rcnn_r50_sac_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/cascade_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_detection.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | 7 | model = dict( 8 | backbone=dict( 9 | type='DetectoRS_ResNet', 10 | conv_cfg=dict(type='ConvAWS'), 11 | sac=dict(type='SAC', use_deform=True), 12 | stage_with_sac=(False, True, True, True))) 13 | -------------------------------------------------------------------------------- /configs/detectors/htc_r50_sac_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../htc/htc_r50_fpn_1x_coco.py' 2 | 3 | model = dict( 4 | backbone=dict( 5 | type='DetectoRS_ResNet', 6 | conv_cfg=dict(type='ConvAWS'), 7 | sac=dict(type='SAC', use_deform=True), 8 | stage_with_sac=(False, True, True, True))) 9 | -------------------------------------------------------------------------------- /configs/empirical_attention/faster_rcnn_r50_fpn_attention_0010_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict(plugins=[ 4 | dict( 5 | cfg=dict( 6 | type='GeneralizedAttention', 7 | spatial_range=-1, 8 | num_heads=8, 9 | attention_type='0010', 10 | kv_stride=2), 11 | stages=(False, False, True, True), 12 | position='after_conv2') 13 | ])) 14 | -------------------------------------------------------------------------------- /configs/empirical_attention/faster_rcnn_r50_fpn_attention_0010_dcn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | plugins=[ 5 | dict( 6 | cfg=dict( 7 | type='GeneralizedAttention', 8 | spatial_range=-1, 9 | num_heads=8, 10 | attention_type='0010', 11 | kv_stride=2), 12 | stages=(False, False, True, True), 13 | position='after_conv2') 14 | ], 15 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 16 | stage_with_dcn=(False, True, True, True))) 17 | -------------------------------------------------------------------------------- /configs/empirical_attention/faster_rcnn_r50_fpn_attention_1111_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict(plugins=[ 4 | dict( 5 | cfg=dict( 6 | type='GeneralizedAttention', 7 | spatial_range=-1, 8 | num_heads=8, 9 | attention_type='1111', 10 | kv_stride=2), 11 | stages=(False, False, True, True), 12 | position='after_conv2') 13 | ])) 14 | -------------------------------------------------------------------------------- /configs/empirical_attention/faster_rcnn_r50_fpn_attention_1111_dcn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | plugins=[ 5 | dict( 6 | cfg=dict( 7 | type='GeneralizedAttention', 8 | spatial_range=-1, 9 | num_heads=8, 10 | attention_type='1111', 11 | kv_stride=2), 12 | stages=(False, False, True, True), 13 | position='after_conv2') 14 | ], 15 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 16 | stage_with_dcn=(False, True, True, True))) 17 | -------------------------------------------------------------------------------- /configs/fast_rcnn/fast_rcnn_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fast_rcnn_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/fast_rcnn/fast_rcnn_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fast_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/fast_rcnn/fast_rcnn_r101_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fast_rcnn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/fast_rcnn/fast_rcnn_r50_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fast_rcnn_r50_fpn_1x_coco.py' 2 | 3 | # learning policy 4 | lr_config = dict(step=[16, 22]) 5 | runner = dict(type='EpochBasedRunner', max_epochs=24) 6 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r101_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r101_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'faster_rcnn_r50_fpn_mstrain_3x_coco.py' 2 | 3 | model = dict( 4 | backbone=dict( 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='torchvision://resnet101'))) 8 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_caffe_dc5_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_caffe_dc5_mstrain_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[28, 34]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=36) 5 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_caffe_fpn_90k_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'faster_rcnn_r50_caffe_fpn_1x_coco.py' 2 | 3 | # learning policy 4 | lr_config = dict( 5 | policy='step', 6 | warmup='linear', 7 | warmup_iters=500, 8 | warmup_ratio=0.001, 9 | step=[60000, 80000]) 10 | 11 | # Runner type 12 | runner = dict(_delete_=True, type='IterBasedRunner', max_iters=90000) 13 | 14 | checkpoint_config = dict(interval=10000) 15 | evaluation = dict(interval=10000, metric='bbox') 16 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_caffe_fpn_mstrain_1x_coco-person-bicycle-car.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_caffe_fpn_mstrain_1x_coco.py' 2 | model = dict(roi_head=dict(bbox_head=dict(num_classes=3))) 3 | classes = ('person', 'bicycle', 'car') 4 | data = dict( 5 | train=dict(classes=classes), 6 | val=dict(classes=classes), 7 | test=dict(classes=classes)) 8 | 9 | load_from = 'https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_caffe_fpn_mstrain_3x_coco/faster_rcnn_r50_caffe_fpn_mstrain_3x_coco_bbox_mAP-0.398_20200504_163323-30042637.pth' # noqa 10 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_caffe_fpn_mstrain_1x_coco-person.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_caffe_fpn_mstrain_1x_coco.py' 2 | model = dict(roi_head=dict(bbox_head=dict(num_classes=1))) 3 | classes = ('person', ) 4 | data = dict( 5 | train=dict(classes=classes), 6 | val=dict(classes=classes), 7 | test=dict(classes=classes)) 8 | 9 | load_from = 'https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_caffe_fpn_mstrain_3x_coco/faster_rcnn_r50_caffe_fpn_mstrain_3x_coco_bbox_mAP-0.398_20200504_163323-30042637.pth' # noqa 10 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_caffe_fpn_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_caffe_fpn_mstrain_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 23]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_caffe_fpn_mstrain_90k_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'faster_rcnn_r50_caffe_fpn_mstrain_1x_coco.py' 2 | 3 | # learning policy 4 | lr_config = dict( 5 | policy='step', 6 | warmup='linear', 7 | warmup_iters=500, 8 | warmup_ratio=0.001, 9 | step=[60000, 80000]) 10 | 11 | # Runner type 12 | runner = dict(_delete_=True, type='IterBasedRunner', max_iters=90000) 13 | 14 | checkpoint_config = dict(interval=10000) 15 | evaluation = dict(interval=10000, metric='bbox') 16 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/faster_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_detection.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/faster_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_detection.py', 4 | '../_base_/schedules/schedule_2x.py', '../_base_/default_runtime.py' 5 | ] 6 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_bounded_iou_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | roi_head=dict( 4 | bbox_head=dict( 5 | reg_decoded_bbox=True, 6 | loss_bbox=dict(type='BoundedIoULoss', loss_weight=10.0)))) 7 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_ciou_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | roi_head=dict( 4 | bbox_head=dict( 5 | reg_decoded_bbox=True, 6 | loss_bbox=dict(type='CIoULoss', loss_weight=12.0)))) 7 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_fp16_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_1x_coco.py' 2 | # fp16 settings 3 | fp16 = dict(loss_scale=512.) 4 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_giou_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | roi_head=dict( 4 | bbox_head=dict( 5 | reg_decoded_bbox=True, 6 | loss_bbox=dict(type='GIoULoss', loss_weight=10.0)))) 7 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_iou_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | roi_head=dict( 4 | bbox_head=dict( 5 | reg_decoded_bbox=True, 6 | loss_bbox=dict(type='IoULoss', loss_weight=10.0)))) 7 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../common/mstrain_3x_coco.py', '../_base_/models/faster_rcnn_r50_fpn.py' 3 | ] 4 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_ohem_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict(train_cfg=dict(rcnn=dict(sampler=dict(type='OHEMSampler')))) 3 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_r50_fpn_soft_nms_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/faster_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_detection.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | 7 | model = dict( 8 | test_cfg=dict( 9 | rcnn=dict( 10 | score_thr=0.05, 11 | nms=dict(type='soft_nms', iou_threshold=0.5), 12 | max_per_img=100))) 13 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_x101_32x4d_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_x101_32x4d_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../common/mstrain_3x_coco.py', '../_base_/models/faster_rcnn_r50_fpn.py' 3 | ] 4 | model = dict( 5 | backbone=dict( 6 | type='ResNeXt', 7 | depth=101, 8 | groups=32, 9 | base_width=4, 10 | num_stages=4, 11 | out_indices=(0, 1, 2, 3), 12 | frozen_stages=1, 13 | norm_cfg=dict(type='BN', requires_grad=True), 14 | style='pytorch', 15 | init_cfg=dict( 16 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 17 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_x101_64x4d_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/faster_rcnn/faster_rcnn_x101_64x4d_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../common/mstrain_3x_coco.py', '../_base_/models/faster_rcnn_r50_fpn.py' 3 | ] 4 | model = dict( 5 | backbone=dict( 6 | type='ResNeXt', 7 | depth=101, 8 | groups=64, 9 | base_width=4, 10 | num_stages=4, 11 | out_indices=(0, 1, 2, 3), 12 | frozen_stages=1, 13 | norm_cfg=dict(type='BN', requires_grad=True), 14 | style='pytorch', 15 | init_cfg=dict( 16 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 17 | -------------------------------------------------------------------------------- /configs/fcos/fcos_center_r50_caffe_fpn_gn-head_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcos_r50_caffe_fpn_gn-head_1x_coco.py' 2 | model = dict(bbox_head=dict(center_sampling=True, center_sample_radius=1.5)) 3 | -------------------------------------------------------------------------------- /configs/fcos/fcos_r101_caffe_fpn_gn-head_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcos_r50_caffe_fpn_gn-head_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/fcos/fcos_r50_caffe_fpn_gn-head_4x4_1x_coco.py: -------------------------------------------------------------------------------- 1 | # TODO: Remove this config after benchmarking all related configs 2 | _base_ = 'fcos_r50_caffe_fpn_gn-head_1x_coco.py' 3 | 4 | data = dict(samples_per_gpu=4, workers_per_gpu=4) 5 | -------------------------------------------------------------------------------- /configs/foveabox/fovea_align_r101_fpn_gn-head_4x4_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fovea_r50_fpn_4x4_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101')), 7 | bbox_head=dict( 8 | with_deform=True, 9 | norm_cfg=dict(type='GN', num_groups=32, requires_grad=True))) 10 | # learning policy 11 | lr_config = dict(step=[16, 22]) 12 | runner = dict(type='EpochBasedRunner', max_epochs=24) 13 | -------------------------------------------------------------------------------- /configs/foveabox/fovea_align_r50_fpn_gn-head_4x4_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fovea_r50_fpn_4x4_1x_coco.py' 2 | model = dict( 3 | bbox_head=dict( 4 | with_deform=True, 5 | norm_cfg=dict(type='GN', num_groups=32, requires_grad=True))) 6 | # learning policy 7 | lr_config = dict(step=[16, 22]) 8 | runner = dict(type='EpochBasedRunner', max_epochs=24) 9 | optimizer_config = dict( 10 | _delete_=True, grad_clip=dict(max_norm=35, norm_type=2)) 11 | -------------------------------------------------------------------------------- /configs/foveabox/fovea_r101_fpn_4x4_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fovea_r50_fpn_4x4_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/foveabox/fovea_r101_fpn_4x4_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fovea_r50_fpn_4x4_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/foveabox/fovea_r50_fpn_4x4_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fovea_r50_fpn_4x4_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/fpg/faster_rcnn_r50_fpg-chn128_crop640_50e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'faster_rcnn_r50_fpg_crop640_50e_coco.py' 2 | 3 | norm_cfg = dict(type='BN', requires_grad=True) 4 | model = dict( 5 | neck=dict(out_channels=128, inter_channels=128), 6 | rpn_head=dict(in_channels=128), 7 | roi_head=dict( 8 | bbox_roi_extractor=dict(out_channels=128), 9 | bbox_head=dict(in_channels=128))) 10 | -------------------------------------------------------------------------------- /configs/fpg/mask_rcnn_r50_fpg-chn128_crop640_50e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'mask_rcnn_r50_fpg_crop640_50e_coco.py' 2 | 3 | model = dict( 4 | neck=dict(out_channels=128, inter_channels=128), 5 | rpn_head=dict(in_channels=128), 6 | roi_head=dict( 7 | bbox_roi_extractor=dict(out_channels=128), 8 | bbox_head=dict(in_channels=128), 9 | mask_roi_extractor=dict(out_channels=128), 10 | mask_head=dict(in_channels=128))) 11 | -------------------------------------------------------------------------------- /configs/fpg/retinanet_r50_fpg-chn128_crop640_50e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_r50_fpg_crop640_50e_coco.py' 2 | 3 | model = dict( 4 | neck=dict(out_channels=128, inter_channels=128), 5 | bbox_head=dict(in_channels=128)) 6 | -------------------------------------------------------------------------------- /configs/free_anchor/retinanet_free_anchor_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_free_anchor_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/free_anchor/retinanet_free_anchor_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_free_anchor_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | style='pytorch', 12 | init_cfg=dict( 13 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 14 | -------------------------------------------------------------------------------- /configs/fsaf/fsaf_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fsaf_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/fsaf/fsaf_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fsaf_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/gcnet/cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_mask_rcnn_x101_32x4d_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), norm_eval=False)) 5 | -------------------------------------------------------------------------------- /configs/gcnet/cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_dconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../dcn/cascade_mask_rcnn_x101_32x4d_fpn_dconv_c3-c5_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), norm_eval=False)) 5 | -------------------------------------------------------------------------------- /configs/gcnet/cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_dconv_c3-c5_r16_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../dcn/cascade_mask_rcnn_x101_32x4d_fpn_dconv_c3-c5_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 16), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gcnet/cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_dconv_c3-c5_r4_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../dcn/cascade_mask_rcnn_x101_32x4d_fpn_dconv_c3-c5_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 4), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gcnet/cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_r16_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_mask_rcnn_x101_32x4d_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 16), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gcnet/cascade_mask_rcnn_x101_32x4d_fpn_syncbn-backbone_r4_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_mask_rcnn_x101_32x4d_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 4), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r101_fpn_r16_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict(plugins=[ 4 | dict( 5 | cfg=dict(type='ContextBlock', ratio=1. / 16), 6 | stages=(False, True, True, True), 7 | position='after_conv3') 8 | ])) 9 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r101_fpn_r4_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict(plugins=[ 4 | dict( 5 | cfg=dict(type='ContextBlock', ratio=1. / 4), 6 | stages=(False, True, True, True), 7 | position='after_conv3') 8 | ])) 9 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r101_fpn_syncbn-backbone_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), norm_eval=False)) 5 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r101_fpn_syncbn-backbone_r16_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 16), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r101_fpn_syncbn-backbone_r4_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 4), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r50_fpn_r16_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict(plugins=[ 4 | dict( 5 | cfg=dict(type='ContextBlock', ratio=1. / 16), 6 | stages=(False, True, True, True), 7 | position='after_conv3') 8 | ])) 9 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r50_fpn_r4_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict(plugins=[ 4 | dict( 5 | cfg=dict(type='ContextBlock', ratio=1. / 4), 6 | stages=(False, True, True, True), 7 | position='after_conv3') 8 | ])) 9 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r50_fpn_syncbn-backbone_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), norm_eval=False)) 5 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r50_fpn_syncbn-backbone_r16_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 16), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_r50_fpn_syncbn-backbone_r4_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 4), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_x101_32x4d_fpn_syncbn-backbone_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_x101_32x4d_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), norm_eval=False)) 5 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_x101_32x4d_fpn_syncbn-backbone_r16_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_x101_32x4d_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 16), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gcnet/mask_rcnn_x101_32x4d_fpn_syncbn-backbone_r4_gcb_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_x101_32x4d_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | norm_cfg=dict(type='SyncBN', requires_grad=True), 5 | norm_eval=False, 6 | plugins=[ 7 | dict( 8 | cfg=dict(type='ContextBlock', ratio=1. / 4), 9 | stages=(False, True, True, True), 10 | position='after_conv3') 11 | ])) 12 | -------------------------------------------------------------------------------- /configs/gfl/gfl_r101_fpn_dconv_c3-c5_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './gfl_r50_fpn_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNet', 5 | depth=101, 6 | num_stages=4, 7 | out_indices=(0, 1, 2, 3), 8 | frozen_stages=1, 9 | norm_cfg=dict(type='BN', requires_grad=True), 10 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 11 | stage_with_dcn=(False, True, True, True), 12 | norm_eval=True, 13 | style='pytorch', 14 | init_cfg=dict(type='Pretrained', 15 | checkpoint='torchvision://resnet101'))) 16 | -------------------------------------------------------------------------------- /configs/gfl/gfl_r101_fpn_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './gfl_r50_fpn_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNet', 5 | depth=101, 6 | num_stages=4, 7 | out_indices=(0, 1, 2, 3), 8 | frozen_stages=1, 9 | norm_cfg=dict(type='BN', requires_grad=True), 10 | norm_eval=True, 11 | style='pytorch', 12 | init_cfg=dict(type='Pretrained', 13 | checkpoint='torchvision://resnet101'))) 14 | -------------------------------------------------------------------------------- /configs/gfl/gfl_x101_32x4d_fpn_dconv_c4-c5_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './gfl_r50_fpn_mstrain_2x_coco.py' 2 | model = dict( 3 | type='GFL', 4 | backbone=dict( 5 | type='ResNeXt', 6 | depth=101, 7 | groups=32, 8 | base_width=4, 9 | num_stages=4, 10 | out_indices=(0, 1, 2, 3), 11 | frozen_stages=1, 12 | norm_cfg=dict(type='BN', requires_grad=True), 13 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 14 | stage_with_dcn=(False, False, True, True), 15 | norm_eval=True, 16 | style='pytorch', 17 | init_cfg=dict( 18 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 19 | -------------------------------------------------------------------------------- /configs/gfl/gfl_x101_32x4d_fpn_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './gfl_r50_fpn_mstrain_2x_coco.py' 2 | model = dict( 3 | type='GFL', 4 | backbone=dict( 5 | type='ResNeXt', 6 | depth=101, 7 | groups=32, 8 | base_width=4, 9 | num_stages=4, 10 | out_indices=(0, 1, 2, 3), 11 | frozen_stages=1, 12 | norm_cfg=dict(type='BN', requires_grad=True), 13 | norm_eval=True, 14 | style='pytorch', 15 | init_cfg=dict( 16 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 17 | -------------------------------------------------------------------------------- /configs/ghm/retinanet_ghm_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_ghm_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/ghm/retinanet_ghm_r50_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../retinanet/retinanet_r50_fpn_1x_coco.py' 2 | model = dict( 3 | bbox_head=dict( 4 | loss_cls=dict( 5 | _delete_=True, 6 | type='GHMC', 7 | bins=30, 8 | momentum=0.75, 9 | use_sigmoid=True, 10 | loss_weight=1.0), 11 | loss_bbox=dict( 12 | _delete_=True, 13 | type='GHMR', 14 | mu=0.02, 15 | bins=10, 16 | momentum=0.7, 17 | loss_weight=10.0))) 18 | optimizer_config = dict( 19 | _delete_=True, grad_clip=dict(max_norm=35, norm_type=2)) 20 | -------------------------------------------------------------------------------- /configs/ghm/retinanet_ghm_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_ghm_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/ghm/retinanet_ghm_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_ghm_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/gn+ws/faster_rcnn_r101_fpn_gn_ws-all_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_gn_ws-all_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', checkpoint='open-mmlab://jhu/resnet101_gn_ws'))) 7 | -------------------------------------------------------------------------------- /configs/gn+ws/faster_rcnn_r50_fpn_gn_ws-all_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | conv_cfg = dict(type='ConvWS') 3 | norm_cfg = dict(type='GN', num_groups=32, requires_grad=True) 4 | model = dict( 5 | backbone=dict( 6 | conv_cfg=conv_cfg, 7 | norm_cfg=norm_cfg, 8 | init_cfg=dict( 9 | type='Pretrained', checkpoint='open-mmlab://jhu/resnet50_gn_ws')), 10 | neck=dict(conv_cfg=conv_cfg, norm_cfg=norm_cfg), 11 | roi_head=dict( 12 | bbox_head=dict( 13 | type='Shared4Conv1FCBBoxHead', 14 | conv_out_channels=256, 15 | conv_cfg=conv_cfg, 16 | norm_cfg=norm_cfg))) 17 | -------------------------------------------------------------------------------- /configs/gn+ws/faster_rcnn_x101_32x4d_fpn_gn_ws-all_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_gn_ws-all_1x_coco.py' 2 | conv_cfg = dict(type='ConvWS') 3 | norm_cfg = dict(type='GN', num_groups=32, requires_grad=True) 4 | model = dict( 5 | backbone=dict( 6 | type='ResNeXt', 7 | depth=101, 8 | groups=32, 9 | base_width=4, 10 | num_stages=4, 11 | out_indices=(0, 1, 2, 3), 12 | frozen_stages=1, 13 | style='pytorch', 14 | conv_cfg=conv_cfg, 15 | norm_cfg=norm_cfg, 16 | init_cfg=dict( 17 | type='Pretrained', 18 | checkpoint='open-mmlab://jhu/resnext101_32x4d_gn_ws'))) 19 | -------------------------------------------------------------------------------- /configs/gn+ws/faster_rcnn_x50_32x4d_fpn_gn_ws-all_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_r50_fpn_gn_ws-all_1x_coco.py' 2 | conv_cfg = dict(type='ConvWS') 3 | norm_cfg = dict(type='GN', num_groups=32, requires_grad=True) 4 | model = dict( 5 | backbone=dict( 6 | type='ResNeXt', 7 | depth=50, 8 | groups=32, 9 | base_width=4, 10 | num_stages=4, 11 | out_indices=(0, 1, 2, 3), 12 | frozen_stages=1, 13 | style='pytorch', 14 | conv_cfg=conv_cfg, 15 | norm_cfg=norm_cfg, 16 | init_cfg=dict( 17 | type='Pretrained', 18 | checkpoint='open-mmlab://jhu/resnext50_32x4d_gn_ws'))) 19 | -------------------------------------------------------------------------------- /configs/gn+ws/mask_rcnn_r101_fpn_gn_ws-all_20_23_24e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r101_fpn_gn_ws-all_2x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[20, 23]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/gn+ws/mask_rcnn_r101_fpn_gn_ws-all_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_gn_ws-all_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', checkpoint='open-mmlab://jhu/resnet101_gn_ws'))) 7 | -------------------------------------------------------------------------------- /configs/gn+ws/mask_rcnn_r50_fpn_gn_ws-all_20_23_24e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_gn_ws-all_2x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[20, 23]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/gn+ws/mask_rcnn_x101_32x4d_fpn_gn_ws-all_20_23_24e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_x101_32x4d_fpn_gn_ws-all_2x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[20, 23]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/gn+ws/mask_rcnn_x101_32x4d_fpn_gn_ws-all_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_gn_ws-all_2x_coco.py' 2 | # model settings 3 | conv_cfg = dict(type='ConvWS') 4 | norm_cfg = dict(type='GN', num_groups=32, requires_grad=True) 5 | model = dict( 6 | backbone=dict( 7 | type='ResNeXt', 8 | depth=101, 9 | groups=32, 10 | base_width=4, 11 | num_stages=4, 12 | out_indices=(0, 1, 2, 3), 13 | frozen_stages=1, 14 | style='pytorch', 15 | conv_cfg=conv_cfg, 16 | norm_cfg=norm_cfg, 17 | init_cfg=dict( 18 | type='Pretrained', 19 | checkpoint='open-mmlab://jhu/resnext101_32x4d_gn_ws'))) 20 | -------------------------------------------------------------------------------- /configs/gn+ws/mask_rcnn_x50_32x4d_fpn_gn_ws-all_20_23_24e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_x50_32x4d_fpn_gn_ws-all_2x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[20, 23]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/gn+ws/mask_rcnn_x50_32x4d_fpn_gn_ws-all_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_gn_ws-all_2x_coco.py' 2 | # model settings 3 | conv_cfg = dict(type='ConvWS') 4 | norm_cfg = dict(type='GN', num_groups=32, requires_grad=True) 5 | model = dict( 6 | backbone=dict( 7 | type='ResNeXt', 8 | depth=50, 9 | groups=32, 10 | base_width=4, 11 | num_stages=4, 12 | out_indices=(0, 1, 2, 3), 13 | frozen_stages=1, 14 | style='pytorch', 15 | conv_cfg=conv_cfg, 16 | norm_cfg=norm_cfg, 17 | init_cfg=dict( 18 | type='Pretrained', 19 | checkpoint='open-mmlab://jhu/resnext50_32x4d_gn_ws'))) 20 | -------------------------------------------------------------------------------- /configs/gn/mask_rcnn_r101_fpn_gn-all_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_gn-all_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron/resnet101_gn'))) 8 | -------------------------------------------------------------------------------- /configs/gn/mask_rcnn_r101_fpn_gn-all_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r101_fpn_gn-all_2x_coco.py' 2 | 3 | # learning policy 4 | lr_config = dict(step=[28, 34]) 5 | runner = dict(type='EpochBasedRunner', max_epochs=36) 6 | -------------------------------------------------------------------------------- /configs/gn/mask_rcnn_r50_fpn_gn-all_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_gn-all_2x_coco.py' 2 | 3 | # learning policy 4 | lr_config = dict(step=[28, 34]) 5 | runner = dict(type='EpochBasedRunner', max_epochs=36) 6 | -------------------------------------------------------------------------------- /configs/gn/mask_rcnn_r50_fpn_gn-all_contrib_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | norm_cfg = dict(type='GN', num_groups=32, requires_grad=True) 3 | model = dict( 4 | backbone=dict( 5 | norm_cfg=norm_cfg, 6 | init_cfg=dict( 7 | type='Pretrained', checkpoint='open-mmlab://contrib/resnet50_gn')), 8 | neck=dict(norm_cfg=norm_cfg), 9 | roi_head=dict( 10 | bbox_head=dict( 11 | type='Shared4Conv1FCBBoxHead', 12 | conv_out_channels=256, 13 | norm_cfg=norm_cfg), 14 | mask_head=dict(norm_cfg=norm_cfg))) 15 | # learning policy 16 | lr_config = dict(step=[16, 22]) 17 | runner = dict(type='EpochBasedRunner', max_epochs=24) 18 | -------------------------------------------------------------------------------- /configs/gn/mask_rcnn_r50_fpn_gn-all_contrib_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_gn-all_contrib_2x_coco.py' 2 | 3 | # learning policy 4 | lr_config = dict(step=[28, 34]) 5 | runner = dict(type='EpochBasedRunner', max_epochs=36) 6 | -------------------------------------------------------------------------------- /configs/grid_rcnn/grid_rcnn_r101_fpn_gn-head_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './grid_rcnn_r50_fpn_gn-head_2x_coco.py' 2 | 3 | model = dict( 4 | backbone=dict( 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='torchvision://resnet101'))) 8 | -------------------------------------------------------------------------------- /configs/grid_rcnn/grid_rcnn_r50_fpn_gn-head_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = ['grid_rcnn_r50_fpn_gn-head_2x_coco.py'] 2 | # learning policy 3 | lr_config = dict( 4 | policy='step', 5 | warmup='linear', 6 | warmup_iters=500, 7 | warmup_ratio=0.001, 8 | step=[8, 11]) 9 | checkpoint_config = dict(interval=1) 10 | # runtime settings 11 | runner = dict(type='EpochBasedRunner', max_epochs=12) 12 | -------------------------------------------------------------------------------- /configs/grid_rcnn/grid_rcnn_x101_64x4d_fpn_gn-head_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './grid_rcnn_x101_32x4d_fpn_gn-head_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | style='pytorch', 12 | init_cfg=dict( 13 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 14 | -------------------------------------------------------------------------------- /configs/guided_anchoring/ga_faster_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ga_faster_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/guided_anchoring/ga_faster_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ga_faster_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/guided_anchoring/ga_faster_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ga_faster_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/guided_anchoring/ga_retinanet_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ga_retinanet_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/guided_anchoring/ga_retinanet_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ga_retinanet_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/guided_anchoring/ga_retinanet_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ga_retinanet_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/guided_anchoring/ga_rpn_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ga_rpn_r50_caffe_fpn_1x_coco.py' 2 | # model settings 3 | model = dict( 4 | backbone=dict( 5 | depth=101, 6 | init_cfg=dict( 7 | type='Pretrained', 8 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 9 | -------------------------------------------------------------------------------- /configs/guided_anchoring/ga_rpn_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ga_rpn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/guided_anchoring/ga_rpn_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ga_rpn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/hrnet/cascade_mask_rcnn_hrnetv2p_w18_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_hrnetv2p_w32_20e_coco.py' 2 | # model settings 3 | model = dict( 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(18, 36)), 7 | stage3=dict(num_channels=(18, 36, 72)), 8 | stage4=dict(num_channels=(18, 36, 72, 144))), 9 | init_cfg=dict( 10 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w18')), 11 | neck=dict(type='HRFPN', in_channels=[18, 36, 72, 144], out_channels=256)) 12 | -------------------------------------------------------------------------------- /configs/hrnet/cascade_mask_rcnn_hrnetv2p_w40_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_hrnetv2p_w32_20e_coco.py' 2 | # model settings 3 | model = dict( 4 | backbone=dict( 5 | type='HRNet', 6 | extra=dict( 7 | stage2=dict(num_channels=(40, 80)), 8 | stage3=dict(num_channels=(40, 80, 160)), 9 | stage4=dict(num_channels=(40, 80, 160, 320))), 10 | init_cfg=dict( 11 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w40')), 12 | neck=dict(type='HRFPN', in_channels=[40, 80, 160, 320], out_channels=256)) 13 | -------------------------------------------------------------------------------- /configs/hrnet/cascade_rcnn_hrnetv2p_w18_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_hrnetv2p_w32_20e_coco.py' 2 | # model settings 3 | model = dict( 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(18, 36)), 7 | stage3=dict(num_channels=(18, 36, 72)), 8 | stage4=dict(num_channels=(18, 36, 72, 144))), 9 | init_cfg=dict( 10 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w18')), 11 | neck=dict(type='HRFPN', in_channels=[18, 36, 72, 144], out_channels=256)) 12 | -------------------------------------------------------------------------------- /configs/hrnet/cascade_rcnn_hrnetv2p_w40_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_hrnetv2p_w32_20e_coco.py' 2 | # model settings 3 | model = dict( 4 | backbone=dict( 5 | type='HRNet', 6 | extra=dict( 7 | stage2=dict(num_channels=(40, 80)), 8 | stage3=dict(num_channels=(40, 80, 160)), 9 | stage4=dict(num_channels=(40, 80, 160, 320))), 10 | init_cfg=dict( 11 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w40')), 12 | neck=dict(type='HRFPN', in_channels=[40, 80, 160, 320], out_channels=256)) 13 | -------------------------------------------------------------------------------- /configs/hrnet/faster_rcnn_hrnetv2p_w18_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_hrnetv2p_w32_1x_coco.py' 2 | # model settings 3 | model = dict( 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(18, 36)), 7 | stage3=dict(num_channels=(18, 36, 72)), 8 | stage4=dict(num_channels=(18, 36, 72, 144))), 9 | init_cfg=dict( 10 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w18')), 11 | neck=dict(type='HRFPN', in_channels=[18, 36, 72, 144], out_channels=256)) 12 | -------------------------------------------------------------------------------- /configs/hrnet/faster_rcnn_hrnetv2p_w18_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_hrnetv2p_w18_1x_coco.py' 2 | 3 | # learning policy 4 | lr_config = dict(step=[16, 22]) 5 | runner = dict(type='EpochBasedRunner', max_epochs=24) 6 | -------------------------------------------------------------------------------- /configs/hrnet/faster_rcnn_hrnetv2p_w32_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_hrnetv2p_w32_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/hrnet/faster_rcnn_hrnetv2p_w40_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_hrnetv2p_w32_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='HRNet', 5 | extra=dict( 6 | stage2=dict(num_channels=(40, 80)), 7 | stage3=dict(num_channels=(40, 80, 160)), 8 | stage4=dict(num_channels=(40, 80, 160, 320))), 9 | init_cfg=dict( 10 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w40')), 11 | neck=dict(type='HRFPN', in_channels=[40, 80, 160, 320], out_channels=256)) 12 | -------------------------------------------------------------------------------- /configs/hrnet/faster_rcnn_hrnetv2p_w40_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_hrnetv2p_w40_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/hrnet/fcos_hrnetv2p_w18_gn-head_4x4_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcos_hrnetv2p_w32_gn-head_4x4_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | extra=dict( 5 | stage2=dict(num_channels=(18, 36)), 6 | stage3=dict(num_channels=(18, 36, 72)), 7 | stage4=dict(num_channels=(18, 36, 72, 144))), 8 | init_cfg=dict( 9 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w18')), 10 | neck=dict(type='HRFPN', in_channels=[18, 36, 72, 144], out_channels=256)) 11 | -------------------------------------------------------------------------------- /configs/hrnet/fcos_hrnetv2p_w18_gn-head_4x4_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcos_hrnetv2p_w18_gn-head_4x4_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/hrnet/fcos_hrnetv2p_w18_gn-head_mstrain_640-800_4x4_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcos_hrnetv2p_w32_gn-head_mstrain_640-800_4x4_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | extra=dict( 5 | stage2=dict(num_channels=(18, 36)), 6 | stage3=dict(num_channels=(18, 36, 72)), 7 | stage4=dict(num_channels=(18, 36, 72, 144))), 8 | init_cfg=dict( 9 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w18')), 10 | neck=dict(type='HRFPN', in_channels=[18, 36, 72, 144], out_channels=256)) 11 | -------------------------------------------------------------------------------- /configs/hrnet/fcos_hrnetv2p_w32_gn-head_4x4_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcos_hrnetv2p_w32_gn-head_4x4_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/hrnet/fcos_hrnetv2p_w40_gn-head_mstrain_640-800_4x4_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcos_hrnetv2p_w32_gn-head_mstrain_640-800_4x4_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='HRNet', 5 | extra=dict( 6 | stage2=dict(num_channels=(40, 80)), 7 | stage3=dict(num_channels=(40, 80, 160)), 8 | stage4=dict(num_channels=(40, 80, 160, 320))), 9 | init_cfg=dict( 10 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w40')), 11 | neck=dict(type='HRFPN', in_channels=[40, 80, 160, 320], out_channels=256)) 12 | -------------------------------------------------------------------------------- /configs/hrnet/htc_hrnetv2p_w18_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './htc_hrnetv2p_w32_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | extra=dict( 5 | stage2=dict(num_channels=(18, 36)), 6 | stage3=dict(num_channels=(18, 36, 72)), 7 | stage4=dict(num_channels=(18, 36, 72, 144))), 8 | init_cfg=dict( 9 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w18')), 10 | neck=dict(type='HRFPN', in_channels=[18, 36, 72, 144], out_channels=256)) 11 | -------------------------------------------------------------------------------- /configs/hrnet/htc_hrnetv2p_w40_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './htc_hrnetv2p_w32_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='HRNet', 5 | extra=dict( 6 | stage2=dict(num_channels=(40, 80)), 7 | stage3=dict(num_channels=(40, 80, 160)), 8 | stage4=dict(num_channels=(40, 80, 160, 320))), 9 | init_cfg=dict( 10 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w40')), 11 | neck=dict(type='HRFPN', in_channels=[40, 80, 160, 320], out_channels=256)) 12 | -------------------------------------------------------------------------------- /configs/hrnet/htc_hrnetv2p_w40_28e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './htc_hrnetv2p_w40_20e_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[24, 27]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=28) 5 | -------------------------------------------------------------------------------- /configs/hrnet/htc_x101_64x4d_fpn_16x1_28e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../htc/htc_x101_64x4d_fpn_16x1_20e_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[24, 27]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=28) 5 | -------------------------------------------------------------------------------- /configs/hrnet/mask_rcnn_hrnetv2p_w18_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_hrnetv2p_w32_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | extra=dict( 5 | stage2=dict(num_channels=(18, 36)), 6 | stage3=dict(num_channels=(18, 36, 72)), 7 | stage4=dict(num_channels=(18, 36, 72, 144))), 8 | init_cfg=dict( 9 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w18')), 10 | neck=dict(type='HRFPN', in_channels=[18, 36, 72, 144], out_channels=256)) 11 | -------------------------------------------------------------------------------- /configs/hrnet/mask_rcnn_hrnetv2p_w18_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_hrnetv2p_w18_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/hrnet/mask_rcnn_hrnetv2p_w32_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_hrnetv2p_w32_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/hrnet/mask_rcnn_hrnetv2p_w40_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_hrnetv2p_w18_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='HRNet', 5 | extra=dict( 6 | stage2=dict(num_channels=(40, 80)), 7 | stage3=dict(num_channels=(40, 80, 160)), 8 | stage4=dict(num_channels=(40, 80, 160, 320))), 9 | init_cfg=dict( 10 | type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w40')), 11 | neck=dict(type='HRFPN', in_channels=[40, 80, 160, 320], out_channels=256)) 12 | -------------------------------------------------------------------------------- /configs/hrnet/mask_rcnn_hrnetv2p_w40_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_hrnetv2p_w40_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/htc/htc_r101_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './htc_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | # learning policy 8 | lr_config = dict(step=[16, 19]) 9 | runner = dict(type='EpochBasedRunner', max_epochs=20) 10 | -------------------------------------------------------------------------------- /configs/htc/htc_r50_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './htc_r50_fpn_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 19]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=20) 5 | -------------------------------------------------------------------------------- /configs/htc/htc_x101_32x4d_fpn_16x1_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './htc_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | norm_eval=True, 13 | style='pytorch', 14 | init_cfg=dict( 15 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 16 | data = dict(samples_per_gpu=1, workers_per_gpu=1) 17 | # learning policy 18 | lr_config = dict(step=[16, 19]) 19 | runner = dict(type='EpochBasedRunner', max_epochs=20) 20 | -------------------------------------------------------------------------------- /configs/htc/htc_x101_64x4d_fpn_16x1_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './htc_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | norm_eval=True, 13 | style='pytorch', 14 | init_cfg=dict( 15 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 16 | data = dict(samples_per_gpu=1, workers_per_gpu=1) 17 | # learning policy 18 | lr_config = dict(step=[16, 19]) 19 | runner = dict(type='EpochBasedRunner', max_epochs=20) 20 | -------------------------------------------------------------------------------- /configs/instaboost/cascade_mask_rcnn_r101_fpn_instaboost_4x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_instaboost_4x_coco.py' 2 | 3 | model = dict( 4 | backbone=dict( 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='torchvision://resnet101'))) 8 | -------------------------------------------------------------------------------- /configs/instaboost/cascade_mask_rcnn_x101_64x4d_fpn_instaboost_4x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r50_fpn_instaboost_4x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/instaboost/mask_rcnn_r101_fpn_instaboost_4x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_instaboost_4x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/instaboost/mask_rcnn_x101_64x4d_fpn_instaboost_4x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_instaboost_4x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/ld/ld_r34_gflv1_r101_fpn_coco_1x.py: -------------------------------------------------------------------------------- 1 | _base_ = ['./ld_r18_gflv1_r101_fpn_coco_1x.py'] 2 | model = dict( 3 | backbone=dict( 4 | type='ResNet', 5 | depth=34, 6 | num_stages=4, 7 | out_indices=(0, 1, 2, 3), 8 | frozen_stages=1, 9 | norm_cfg=dict(type='BN', requires_grad=True), 10 | norm_eval=True, 11 | style='pytorch', 12 | init_cfg=dict(type='Pretrained', checkpoint='torchvision://resnet34')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 256, 512], 16 | out_channels=256, 17 | start_level=1, 18 | add_extra_convs='on_output', 19 | num_outs=5)) 20 | -------------------------------------------------------------------------------- /configs/ld/ld_r50_gflv1_r101_fpn_coco_1x.py: -------------------------------------------------------------------------------- 1 | _base_ = ['./ld_r18_gflv1_r101_fpn_coco_1x.py'] 2 | model = dict( 3 | backbone=dict( 4 | type='ResNet', 5 | depth=50, 6 | num_stages=4, 7 | out_indices=(0, 1, 2, 3), 8 | frozen_stages=1, 9 | norm_cfg=dict(type='BN', requires_grad=True), 10 | norm_eval=True, 11 | style='pytorch', 12 | init_cfg=dict(type='Pretrained', checkpoint='torchvision://resnet50')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[256, 512, 1024, 2048], 16 | out_channels=256, 17 | start_level=1, 18 | add_extra_convs='on_output', 19 | num_outs=5)) 20 | -------------------------------------------------------------------------------- /configs/legacy_1.x/retinanet_r50_fpn_1x_coco_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/retinanet_r50_fpn.py', 3 | '../_base_/datasets/coco_detection.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | model = dict( 7 | bbox_head=dict( 8 | type='RetinaHead', 9 | anchor_generator=dict( 10 | type='LegacyAnchorGenerator', 11 | center_offset=0.5, 12 | octave_base_scale=4, 13 | scales_per_octave=3, 14 | ratios=[0.5, 1.0, 2.0], 15 | strides=[8, 16, 32, 64, 128]), 16 | bbox_coder=dict(type='LegacyDeltaXYWHBBoxCoder'), 17 | loss_bbox=dict(type='SmoothL1Loss', beta=0.11, loss_weight=1.0))) 18 | -------------------------------------------------------------------------------- /configs/libra_rcnn/libra_faster_rcnn_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './libra_faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/libra_rcnn/libra_faster_rcnn_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './libra_faster_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/lvis/mask_rcnn_r101_fpn_sample1e-3_mstrain_1x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_sample1e-3_mstrain_1x_lvis_v1.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/lvis/mask_rcnn_r101_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/lvis/mask_rcnn_x101_32x4d_fpn_sample1e-3_mstrain_1x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_sample1e-3_mstrain_1x_lvis_v1.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/lvis/mask_rcnn_x101_32x4d_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/lvis/mask_rcnn_x101_64x4d_fpn_sample1e-3_mstrain_1x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_sample1e-3_mstrain_1x_lvis_v1.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/lvis/mask_rcnn_x101_64x4d_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_sample1e-3_mstrain_2x_lvis_v0.5.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r101_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r101_fpn_mstrain-poly_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../common/mstrain-poly_3x_coco_instance.py', 3 | '../_base_/models/mask_rcnn_r50_fpn.py' 4 | ] 5 | 6 | model = dict( 7 | backbone=dict( 8 | depth=101, 9 | init_cfg=dict(type='Pretrained', 10 | checkpoint='torchvision://resnet101'))) 11 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r50_caffe_fpn_mstrain-poly_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_caffe_fpn_mstrain-poly_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 23]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r50_caffe_fpn_mstrain-poly_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_caffe_fpn_mstrain-poly_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[28, 34]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=36) 5 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/mask_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_instance.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r50_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/mask_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_instance.py', 4 | '../_base_/schedules/schedule_2x.py', '../_base_/default_runtime.py' 5 | ] 6 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r50_fpn_fp16_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_1x_coco.py' 2 | # fp16 settings 3 | fp16 = dict(loss_scale=512.) 4 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_r50_fpn_mstrain-poly_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../common/mstrain-poly_3x_coco_instance.py', 3 | '../_base_/models/mask_rcnn_r50_fpn.py' 4 | ] 5 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r101_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_x101_32x4d_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r101_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_x101_32x4d_fpn_mstrain-poly_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../common/mstrain-poly_3x_coco_instance.py', 3 | '../_base_/models/mask_rcnn_r50_fpn.py' 4 | ] 5 | 6 | model = dict( 7 | backbone=dict( 8 | type='ResNeXt', 9 | depth=101, 10 | groups=32, 11 | base_width=4, 12 | num_stages=4, 13 | out_indices=(0, 1, 2, 3), 14 | frozen_stages=1, 15 | norm_cfg=dict(type='BN', requires_grad=True), 16 | style='pytorch', 17 | init_cfg=dict( 18 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 19 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_x101_32x4d_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_x101_64x4d_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_x101_32x4d_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/mask_rcnn/mask_rcnn_x101_64x4d_fpn_mstrain-poly_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../common/mstrain-poly_3x_coco_instance.py', 3 | '../_base_/models/mask_rcnn_r50_fpn.py' 4 | ] 5 | 6 | model = dict( 7 | backbone=dict( 8 | type='ResNeXt', 9 | depth=101, 10 | groups=64, 11 | base_width=4, 12 | num_stages=4, 13 | out_indices=(0, 1, 2, 3), 14 | frozen_stages=1, 15 | norm_cfg=dict(type='BN', requires_grad=True), 16 | style='pytorch', 17 | init_cfg=dict( 18 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 19 | -------------------------------------------------------------------------------- /configs/ms_rcnn/ms_rcnn_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ms_rcnn_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/ms_rcnn/ms_rcnn_r101_caffe_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ms_rcnn_r101_caffe_fpn_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/ms_rcnn/ms_rcnn_r50_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | type='MaskScoringRCNN', 4 | roi_head=dict( 5 | type='MaskScoringRoIHead', 6 | mask_iou_head=dict( 7 | type='MaskIoUHead', 8 | num_convs=4, 9 | num_fcs=2, 10 | roi_feat_size=14, 11 | in_channels=256, 12 | conv_out_channels=256, 13 | fc_out_channels=1024, 14 | num_classes=80)), 15 | # model training and testing settings 16 | train_cfg=dict(rcnn=dict(mask_thr_binary=0.5))) 17 | -------------------------------------------------------------------------------- /configs/ms_rcnn/ms_rcnn_r50_caffe_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ms_rcnn_r50_caffe_fpn_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/ms_rcnn/ms_rcnn_r50_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | type='MaskScoringRCNN', 4 | roi_head=dict( 5 | type='MaskScoringRoIHead', 6 | mask_iou_head=dict( 7 | type='MaskIoUHead', 8 | num_convs=4, 9 | num_fcs=2, 10 | roi_feat_size=14, 11 | in_channels=256, 12 | conv_out_channels=256, 13 | fc_out_channels=1024, 14 | num_classes=80)), 15 | # model training and testing settings 16 | train_cfg=dict(rcnn=dict(mask_thr_binary=0.5))) 17 | -------------------------------------------------------------------------------- /configs/ms_rcnn/ms_rcnn_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ms_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/ms_rcnn/ms_rcnn_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ms_rcnn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/ms_rcnn/ms_rcnn_x101_64x4d_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './ms_rcnn_x101_64x4d_fpn_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/paa/paa_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './paa_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/paa/paa_r101_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './paa_r101_fpn_1x_coco.py' 2 | lr_config = dict(step=[16, 22]) 3 | runner = dict(type='EpochBasedRunner', max_epochs=24) 4 | -------------------------------------------------------------------------------- /configs/paa/paa_r101_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './paa_r50_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/paa/paa_r50_fpn_1.5x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './paa_r50_fpn_1x_coco.py' 2 | lr_config = dict(step=[12, 16]) 3 | runner = dict(type='EpochBasedRunner', max_epochs=18) 4 | -------------------------------------------------------------------------------- /configs/paa/paa_r50_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './paa_r50_fpn_1x_coco.py' 2 | lr_config = dict(step=[16, 22]) 3 | runner = dict(type='EpochBasedRunner', max_epochs=24) 4 | -------------------------------------------------------------------------------- /configs/pafpn/faster_rcnn_r50_pafpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py' 2 | 3 | model = dict( 4 | neck=dict( 5 | type='PAFPN', 6 | in_channels=[256, 512, 1024, 2048], 7 | out_channels=256, 8 | num_outs=5)) 9 | -------------------------------------------------------------------------------- /configs/panoptic_fpn/panoptic_fpn_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './panoptic_fpn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/panoptic_fpn/panoptic_fpn_r101_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './panoptic_fpn_r50_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/faster_rcnn_r50_fpn.py', '../_base_/datasets/voc0712.py', 3 | '../_base_/default_runtime.py' 4 | ] 5 | model = dict(roi_head=dict(bbox_head=dict(num_classes=20))) 6 | # optimizer 7 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001) 8 | optimizer_config = dict(grad_clip=None) 9 | # learning policy 10 | # actual epoch = 3 * 3 = 9 11 | lr_config = dict(policy='step', step=[3]) 12 | # runtime settings 13 | runner = dict( 14 | type='EpochBasedRunner', max_epochs=4) # actual epoch = 4 * 3 = 12 15 | -------------------------------------------------------------------------------- /configs/pascal_voc/retinanet_r50_fpn_1x_voc0712.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/retinanet_r50_fpn.py', '../_base_/datasets/voc0712.py', 3 | '../_base_/default_runtime.py' 4 | ] 5 | model = dict(bbox_head=dict(num_classes=20)) 6 | # optimizer 7 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001) 8 | optimizer_config = dict(grad_clip=None) 9 | # learning policy 10 | # actual epoch = 3 * 3 = 9 11 | lr_config = dict(policy='step', step=[3]) 12 | # runtime settings 13 | runner = dict( 14 | type='EpochBasedRunner', max_epochs=4) # actual epoch = 4 * 3 = 12 15 | -------------------------------------------------------------------------------- /configs/pisa/pisa_retinanet_r50_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../retinanet/retinanet_r50_fpn_1x_coco.py' 2 | 3 | model = dict( 4 | bbox_head=dict( 5 | type='PISARetinaHead', 6 | loss_bbox=dict(type='SmoothL1Loss', beta=0.11, loss_weight=1.0)), 7 | train_cfg=dict(isr=dict(k=2., bias=0.), carl=dict(k=1., bias=0.2))) 8 | -------------------------------------------------------------------------------- /configs/pisa/pisa_retinanet_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../retinanet/retinanet_x101_32x4d_fpn_1x_coco.py' 2 | 3 | model = dict( 4 | bbox_head=dict( 5 | type='PISARetinaHead', 6 | loss_bbox=dict(type='SmoothL1Loss', beta=0.11, loss_weight=1.0)), 7 | train_cfg=dict(isr=dict(k=2., bias=0.), carl=dict(k=1., bias=0.2))) 8 | -------------------------------------------------------------------------------- /configs/pisa/pisa_ssd300_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../ssd/ssd300_coco.py' 2 | 3 | model = dict( 4 | bbox_head=dict(type='PISASSDHead'), 5 | train_cfg=dict(isr=dict(k=2., bias=0.), carl=dict(k=1., bias=0.2))) 6 | 7 | optimizer_config = dict( 8 | _delete_=True, grad_clip=dict(max_norm=35, norm_type=2)) 9 | -------------------------------------------------------------------------------- /configs/pisa/pisa_ssd512_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../ssd/ssd512_coco.py' 2 | 3 | model = dict( 4 | bbox_head=dict(type='PISASSDHead'), 5 | train_cfg=dict(isr=dict(k=2., bias=0.), carl=dict(k=1., bias=0.2))) 6 | 7 | optimizer_config = dict( 8 | _delete_=True, grad_clip=dict(max_norm=35, norm_type=2)) 9 | -------------------------------------------------------------------------------- /configs/point_rend/point_rend_r50_caffe_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './point_rend_r50_caffe_fpn_mstrain_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[28, 34]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=36) 5 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvt-l_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_pvt-t_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | num_layers=[3, 8, 27, 3], 5 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 6 | 'releases/download/v2/pvt_large.pth'))) 7 | fp16 = dict(loss_scale=dict(init_scale=512)) 8 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvt-m_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_pvt-t_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | num_layers=[3, 4, 18, 3], 5 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 6 | 'releases/download/v2/pvt_medium.pth'))) 7 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvt-s_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_pvt-t_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | num_layers=[3, 4, 6, 3], 5 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 6 | 'releases/download/v2/pvt_small.pth'))) 7 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvt-t_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/retinanet_r50_fpn.py', 3 | '../_base_/datasets/coco_detection.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | model = dict( 7 | type='RetinaNet', 8 | backbone=dict( 9 | _delete_=True, 10 | type='PyramidVisionTransformer', 11 | num_layers=[2, 2, 2, 2], 12 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 13 | 'releases/download/v2/pvt_tiny.pth')), 14 | neck=dict(in_channels=[64, 128, 320, 512])) 15 | # optimizer 16 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0001, weight_decay=0.0001) 17 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvtv2-b0_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/retinanet_r50_fpn.py', 3 | '../_base_/datasets/coco_detection.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | model = dict( 7 | type='RetinaNet', 8 | backbone=dict( 9 | _delete_=True, 10 | type='PyramidVisionTransformerV2', 11 | embed_dims=32, 12 | num_layers=[2, 2, 2, 2], 13 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 14 | 'releases/download/v2/pvt_v2_b0.pth')), 15 | neck=dict(in_channels=[32, 64, 160, 256])) 16 | # optimizer 17 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0001, weight_decay=0.0001) 18 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvtv2-b1_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_pvtv2-b0_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | embed_dims=64, 5 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 6 | 'releases/download/v2/pvt_v2_b1.pth')), 7 | neck=dict(in_channels=[64, 128, 320, 512])) 8 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvtv2-b2_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_pvtv2-b0_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | embed_dims=64, 5 | num_layers=[3, 4, 6, 3], 6 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 7 | 'releases/download/v2/pvt_v2_b2.pth')), 8 | neck=dict(in_channels=[64, 128, 320, 512])) 9 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvtv2-b3_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_pvtv2-b0_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | embed_dims=64, 5 | num_layers=[3, 4, 18, 3], 6 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 7 | 'releases/download/v2/pvt_v2_b3.pth')), 8 | neck=dict(in_channels=[64, 128, 320, 512])) 9 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvtv2-b4_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_pvtv2-b0_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | embed_dims=64, 5 | num_layers=[3, 8, 27, 3], 6 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 7 | 'releases/download/v2/pvt_v2_b4.pth')), 8 | neck=dict(in_channels=[64, 128, 320, 512])) 9 | # optimizer 10 | optimizer = dict( 11 | _delete_=True, type='AdamW', lr=0.0001 / 1.4, weight_decay=0.0001) 12 | # dataset settings 13 | data = dict(samples_per_gpu=1, workers_per_gpu=1) 14 | -------------------------------------------------------------------------------- /configs/pvt/retinanet_pvtv2-b5_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_pvtv2-b0_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | embed_dims=64, 5 | num_layers=[3, 6, 40, 3], 6 | mlp_ratios=(4, 4, 4, 4), 7 | init_cfg=dict(checkpoint='https://github.com/whai362/PVT/' 8 | 'releases/download/v2/pvt_v2_b5.pth')), 9 | neck=dict(in_channels=[64, 128, 320, 512])) 10 | # optimizer 11 | optimizer = dict( 12 | _delete_=True, type='AdamW', lr=0.0001 / 1.4, weight_decay=0.0001) 13 | # dataset settings 14 | data = dict(samples_per_gpu=1, workers_per_gpu=1) 15 | -------------------------------------------------------------------------------- /configs/queryinst/queryinst_r101_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './queryinst_r50_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py' 2 | 3 | model = dict( 4 | backbone=dict( 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='torchvision://resnet101'))) 8 | -------------------------------------------------------------------------------- /configs/queryinst/queryinst_r101_fpn_mstrain_480-800_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './queryinst_r50_fpn_mstrain_480-800_3x_coco.py' 2 | 3 | model = dict( 4 | backbone=dict( 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='torchvision://resnet101'))) 8 | -------------------------------------------------------------------------------- /configs/regnet/cascade_mask_rcnn_regnetx-1.6GF_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'cascade_mask_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_1.6gf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_1.6gf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[72, 168, 408, 912], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/cascade_mask_rcnn_regnetx-400MF_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'cascade_mask_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_400mf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_400mf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[32, 64, 160, 384], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/cascade_mask_rcnn_regnetx-4GF_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'cascade_mask_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_4.0gf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_4.0gf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[80, 240, 560, 1360], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/cascade_mask_rcnn_regnetx-800MF_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'cascade_mask_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_800mf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_800mf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 288, 672], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/faster_rcnn_regnetx-1.6GF_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'faster_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_1.6gf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_1.6gf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[72, 168, 408, 912], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/faster_rcnn_regnetx-3.2GF_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_regnetx-3.2GF_fpn_1x_coco.py' 2 | lr_config = dict(step=[16, 22]) 3 | runner = dict(type='EpochBasedRunner', max_epochs=24) 4 | -------------------------------------------------------------------------------- /configs/regnet/faster_rcnn_regnetx-400MF_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'faster_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_400mf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_400mf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[32, 64, 160, 384], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/faster_rcnn_regnetx-4GF_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'faster_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_4.0gf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_4.0gf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[80, 240, 560, 1360], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/faster_rcnn_regnetx-800MF_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'faster_rcnn_regnetx-3.2GF_fpn_mstrain_3x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_800mf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_800mf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 288, 672], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/mask_rcnn_regnetx-12GF_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_regnetx-3.2GF_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_12gf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_12gf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[224, 448, 896, 2240], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/mask_rcnn_regnetx-3.2GF_fpn_mdconv_c3-c5_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'mask_rcnn_regnetx-3.2GF_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCNv2', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True), 6 | init_cfg=dict( 7 | type='Pretrained', checkpoint='open-mmlab://regnetx_3.2gf'))) 8 | -------------------------------------------------------------------------------- /configs/regnet/mask_rcnn_regnetx-4GF_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_regnetx-3.2GF_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_4.0gf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_4.0gf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[80, 240, 560, 1360], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/mask_rcnn_regnetx-6.4GF_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_regnetx-3.2GF_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_6.4gf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_6.4gf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[168, 392, 784, 1624], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/mask_rcnn_regnetx-8GF_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_regnetx-3.2GF_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_8.0gf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_8.0gf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[80, 240, 720, 1920], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/retinanet_regnetx-1.6GF_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_regnetx-3.2GF_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_1.6gf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_1.6gf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[72, 168, 408, 912], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/regnet/retinanet_regnetx-800MF_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_regnetx-3.2GF_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='RegNet', 5 | arch='regnetx_800mf', 6 | out_indices=(0, 1, 2, 3), 7 | frozen_stages=1, 8 | norm_cfg=dict(type='BN', requires_grad=True), 9 | norm_eval=True, 10 | style='pytorch', 11 | init_cfg=dict( 12 | type='Pretrained', checkpoint='open-mmlab://regnetx_800mf')), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 288, 672], 16 | out_channels=256, 17 | num_outs=5)) 18 | -------------------------------------------------------------------------------- /configs/reppoints/bbox_r50_grid_center_fpn_gn-neck+head_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './reppoints_moment_r50_fpn_gn-neck+head_1x_coco.py' 2 | model = dict(bbox_head=dict(transform_method='minmax', use_grid_points=True)) 3 | -------------------------------------------------------------------------------- /configs/reppoints/bbox_r50_grid_fpn_gn-neck+head_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './reppoints_moment_r50_fpn_gn-neck+head_1x_coco.py' 2 | model = dict( 3 | bbox_head=dict(transform_method='minmax', use_grid_points=True), 4 | # training and testing settings 5 | train_cfg=dict( 6 | init=dict( 7 | assigner=dict( 8 | _delete_=True, 9 | type='MaxIoUAssigner', 10 | pos_iou_thr=0.5, 11 | neg_iou_thr=0.4, 12 | min_pos_iou=0, 13 | ignore_iof_thr=-1)))) 14 | -------------------------------------------------------------------------------- /configs/reppoints/reppoints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/configs/reppoints/reppoints.png -------------------------------------------------------------------------------- /configs/reppoints/reppoints_minmax_r50_fpn_gn-neck+head_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './reppoints_moment_r50_fpn_gn-neck+head_1x_coco.py' 2 | model = dict(bbox_head=dict(transform_method='minmax')) 3 | -------------------------------------------------------------------------------- /configs/reppoints/reppoints_moment_r101_fpn_dconv_c3-c5_gn-neck+head_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './reppoints_moment_r50_fpn_gn-neck+head_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 6 | stage_with_dcn=(False, True, True, True), 7 | init_cfg=dict(type='Pretrained', 8 | checkpoint='torchvision://resnet101'))) 9 | -------------------------------------------------------------------------------- /configs/reppoints/reppoints_moment_r101_fpn_gn-neck+head_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './reppoints_moment_r50_fpn_gn-neck+head_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/reppoints/reppoints_moment_r50_fpn_gn-neck+head_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './reppoints_moment_r50_fpn_1x_coco.py' 2 | norm_cfg = dict(type='GN', num_groups=32, requires_grad=True) 3 | model = dict(neck=dict(norm_cfg=norm_cfg), bbox_head=dict(norm_cfg=norm_cfg)) 4 | optimizer = dict(lr=0.01) 5 | -------------------------------------------------------------------------------- /configs/reppoints/reppoints_moment_r50_fpn_gn-neck+head_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './reppoints_moment_r50_fpn_gn-neck+head_1x_coco.py' 2 | lr_config = dict(step=[16, 22]) 3 | runner = dict(type='EpochBasedRunner', max_epochs=24) 4 | -------------------------------------------------------------------------------- /configs/reppoints/reppoints_moment_x101_fpn_dconv_c3-c5_gn-neck+head_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './reppoints_moment_r50_fpn_gn-neck+head_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | dcn=dict(type='DCN', deform_groups=1, fallback_on_stride=False), 14 | stage_with_dcn=(False, True, True, True), 15 | init_cfg=dict( 16 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 17 | -------------------------------------------------------------------------------- /configs/reppoints/reppoints_partial_minmax_r50_fpn_gn-neck+head_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './reppoints_moment_r50_fpn_gn-neck+head_1x_coco.py' 2 | model = dict(bbox_head=dict(transform_method='partial_minmax')) 3 | -------------------------------------------------------------------------------- /configs/res2net/cascade_mask_rcnn_r2_101_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_mask_rcnn_r50_fpn_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='Res2Net', 5 | depth=101, 6 | scales=4, 7 | base_width=26, 8 | init_cfg=dict( 9 | type='Pretrained', 10 | checkpoint='open-mmlab://res2net101_v1d_26w_4s'))) 11 | -------------------------------------------------------------------------------- /configs/res2net/cascade_rcnn_r2_101_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../cascade_rcnn/cascade_rcnn_r50_fpn_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='Res2Net', 5 | depth=101, 6 | scales=4, 7 | base_width=26, 8 | init_cfg=dict( 9 | type='Pretrained', 10 | checkpoint='open-mmlab://res2net101_v1d_26w_4s'))) 11 | -------------------------------------------------------------------------------- /configs/res2net/faster_rcnn_r2_101_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../faster_rcnn/faster_rcnn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='Res2Net', 5 | depth=101, 6 | scales=4, 7 | base_width=26, 8 | init_cfg=dict( 9 | type='Pretrained', 10 | checkpoint='open-mmlab://res2net101_v1d_26w_4s'))) 11 | -------------------------------------------------------------------------------- /configs/res2net/htc_r2_101_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../htc/htc_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='Res2Net', 5 | depth=101, 6 | scales=4, 7 | base_width=26, 8 | init_cfg=dict( 9 | type='Pretrained', 10 | checkpoint='open-mmlab://res2net101_v1d_26w_4s'))) 11 | # learning policy 12 | lr_config = dict(step=[16, 19]) 13 | runner = dict(type='EpochBasedRunner', max_epochs=20) 14 | -------------------------------------------------------------------------------- /configs/res2net/mask_rcnn_r2_101_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = '../mask_rcnn/mask_rcnn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='Res2Net', 5 | depth=101, 6 | scales=4, 7 | base_width=26, 8 | init_cfg=dict( 9 | type='Pretrained', 10 | checkpoint='open-mmlab://res2net101_v1d_26w_4s'))) 11 | -------------------------------------------------------------------------------- /configs/resnest/cascade_mask_rcnn_s101_fpn_syncbn-backbone+head_mstrain_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_s50_fpn_syncbn-backbone+head_mstrain_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | stem_channels=128, 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='open-mmlab://resnest101'))) 8 | -------------------------------------------------------------------------------- /configs/resnest/cascade_rcnn_s101_fpn_syncbn-backbone+head_mstrain-range_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_rcnn_s50_fpn_syncbn-backbone+head_mstrain-range_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | stem_channels=128, 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='open-mmlab://resnest101'))) 8 | -------------------------------------------------------------------------------- /configs/resnest/faster_rcnn_s101_fpn_syncbn-backbone+head_mstrain-range_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './faster_rcnn_s50_fpn_syncbn-backbone+head_mstrain-range_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | stem_channels=128, 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='open-mmlab://resnest101'))) 8 | -------------------------------------------------------------------------------- /configs/resnest/mask_rcnn_s101_fpn_syncbn-backbone+head_mstrain_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_s50_fpn_syncbn-backbone+head_mstrain_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | stem_channels=128, 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='open-mmlab://resnest101'))) 8 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r101_caffe_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_caffe_fpn_mstrain_1x_coco.py' 2 | # learning policy 3 | model = dict( 4 | pretrained='open-mmlab://detectron2/resnet101_caffe', 5 | backbone=dict(depth=101)) 6 | lr_config = dict(step=[28, 34]) 7 | runner = dict(type='EpochBasedRunner', max_epochs=36) 8 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r101_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r101_fpn_mstrain_640-800_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/retinanet_r50_fpn.py', '../common/mstrain_3x_coco.py' 3 | ] 4 | # optimizer 5 | model = dict(pretrained='torchvision://resnet101', backbone=dict(depth=101)) 6 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001) 7 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r50_caffe_fpn_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_caffe_fpn_mstrain_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 23]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r50_caffe_fpn_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_caffe_fpn_mstrain_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[28, 34]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=36) 5 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r50_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/retinanet_r50_fpn.py', 3 | '../_base_/datasets/coco_detection.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | # optimizer 7 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001) 8 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r50_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_fpn_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 22]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=24) 5 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r50_fpn_90k_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'retinanet_r50_fpn_1x_coco.py' 2 | 3 | # learning policy 4 | lr_config = dict( 5 | policy='step', 6 | warmup='linear', 7 | warmup_iters=500, 8 | warmup_ratio=0.001, 9 | step=[60000, 80000]) 10 | 11 | # Runner type 12 | runner = dict(_delete_=True, type='IterBasedRunner', max_iters=90000) 13 | 14 | checkpoint_config = dict(interval=10000) 15 | evaluation = dict(interval=10000, metric='bbox') 16 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r50_fpn_fp16_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_fpn_1x_coco.py' 2 | # fp16 settings 3 | fp16 = dict(loss_scale=512.) 4 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_r50_fpn_mstrain_640-800_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/retinanet_r50_fpn.py', '../common/mstrain_3x_coco.py' 3 | ] 4 | # optimizer 5 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001) 6 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_x101_32x4d_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_x101_64x4d_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './retinanet_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/retinanet/retinanet_x101_64x4d_fpn_mstrain_640-800_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/retinanet_r50_fpn.py', '../common/mstrain_3x_coco.py' 3 | ] 4 | # optimizer 5 | model = dict( 6 | pretrained='open-mmlab://resnext101_64x4d', 7 | backbone=dict(type='ResNeXt', depth=101, groups=64, base_width=4)) 8 | optimizer = dict(type='SGD', lr=0.01) 9 | -------------------------------------------------------------------------------- /configs/rpn/rpn_r101_caffe_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './rpn_r50_caffe_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict( 6 | type='Pretrained', 7 | checkpoint='open-mmlab://detectron2/resnet101_caffe'))) 8 | -------------------------------------------------------------------------------- /configs/rpn/rpn_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './rpn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/rpn/rpn_r101_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './rpn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/rpn/rpn_r50_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './rpn_r50_fpn_1x_coco.py' 2 | 3 | # learning policy 4 | lr_config = dict(step=[16, 22]) 5 | runner = dict(type='EpochBasedRunner', max_epochs=24) 6 | -------------------------------------------------------------------------------- /configs/rpn/rpn_x101_32x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './rpn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/rpn/rpn_x101_32x4d_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './rpn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 15 | -------------------------------------------------------------------------------- /configs/rpn/rpn_x101_64x4d_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './rpn_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/rpn/rpn_x101_64x4d_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './rpn_r50_fpn_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | style='pytorch', 13 | init_cfg=dict( 14 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 15 | -------------------------------------------------------------------------------- /configs/scnet/scnet_r101_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './scnet_r50_fpn_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/scnet/scnet_r50_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './scnet_r50_fpn_1x_coco.py' 2 | # learning policy 3 | lr_config = dict(step=[16, 19]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=20) 5 | -------------------------------------------------------------------------------- /configs/scnet/scnet_x101_64x4d_fpn_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './scnet_r50_fpn_20e_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | norm_eval=True, 13 | style='pytorch', 14 | init_cfg=dict( 15 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 16 | -------------------------------------------------------------------------------- /configs/scnet/scnet_x101_64x4d_fpn_8x1_20e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './scnet_x101_64x4d_fpn_20e_coco.py' 2 | data = dict(samples_per_gpu=1, workers_per_gpu=1) 3 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001) 4 | -------------------------------------------------------------------------------- /configs/seesaw_loss/cascade_mask_rcnn_r101_fpn_random_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r101_fpn_random_seesaw_loss_mstrain_2x_lvis_v1.py' # noqa: E501 2 | model = dict( 3 | roi_head=dict( 4 | mask_head=dict( 5 | predictor_cfg=dict(type='NormedConv2d', tempearture=20)))) 6 | -------------------------------------------------------------------------------- /configs/seesaw_loss/cascade_mask_rcnn_r101_fpn_sample1e-3_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './cascade_mask_rcnn_r101_fpn_sample1e-3_seesaw_loss_mstrain_2x_lvis_v1.py' # noqa: E501 2 | model = dict( 3 | roi_head=dict( 4 | mask_head=dict( 5 | predictor_cfg=dict(type='NormedConv2d', tempearture=20)))) 6 | -------------------------------------------------------------------------------- /configs/seesaw_loss/mask_rcnn_r101_fpn_random_seesaw_loss_mstrain_2x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_random_seesaw_loss_mstrain_2x_lvis_v1.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/seesaw_loss/mask_rcnn_r101_fpn_random_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_random_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py' # noqa: E501 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/seesaw_loss/mask_rcnn_r101_fpn_sample1e-3_seesaw_loss_mstrain_2x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_sample1e-3_seesaw_loss_mstrain_2x_lvis_v1.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/seesaw_loss/mask_rcnn_r101_fpn_sample1e-3_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_sample1e-3_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py' # noqa: E501 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/seesaw_loss/mask_rcnn_r50_fpn_random_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_random_seesaw_loss_mstrain_2x_lvis_v1.py' 2 | model = dict( 3 | roi_head=dict( 4 | mask_head=dict( 5 | predictor_cfg=dict(type='NormedConv2d', tempearture=20)))) 6 | -------------------------------------------------------------------------------- /configs/seesaw_loss/mask_rcnn_r50_fpn_sample1e-3_seesaw_loss_normed_mask_mstrain_2x_lvis_v1.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_fpn_sample1e-3_seesaw_loss_mstrain_2x_lvis_v1.py' 2 | model = dict( 3 | roi_head=dict( 4 | mask_head=dict( 5 | predictor_cfg=dict(type='NormedConv2d', tempearture=20)))) 6 | -------------------------------------------------------------------------------- /configs/selfsup_pretrain/mask_rcnn_r50_fpn_mocov2-pretrain_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/mask_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_instance.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | 7 | model = dict( 8 | backbone=dict( 9 | frozen_stages=0, 10 | norm_cfg=dict(type='SyncBN', requires_grad=True), 11 | norm_eval=False, 12 | init_cfg=dict( 13 | type='Pretrained', checkpoint='./mocov2_r50_800ep_pretrain.pth'))) 14 | -------------------------------------------------------------------------------- /configs/selfsup_pretrain/mask_rcnn_r50_fpn_swav-pretrain_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/mask_rcnn_r50_fpn.py', 3 | '../_base_/datasets/coco_instance.py', 4 | '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py' 5 | ] 6 | 7 | model = dict( 8 | backbone=dict( 9 | frozen_stages=0, 10 | norm_cfg=dict(type='SyncBN', requires_grad=True), 11 | norm_eval=False, 12 | init_cfg=dict( 13 | type='Pretrained', checkpoint='./swav_800ep_pretrain.pth.tar'))) 14 | -------------------------------------------------------------------------------- /configs/sparse_rcnn/sparse_rcnn_r101_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './sparse_rcnn_r50_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py' 2 | 3 | model = dict( 4 | backbone=dict( 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='torchvision://resnet101'))) 8 | -------------------------------------------------------------------------------- /configs/sparse_rcnn/sparse_rcnn_r101_fpn_mstrain_480-800_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './sparse_rcnn_r50_fpn_mstrain_480-800_3x_coco.py' 2 | 3 | model = dict( 4 | backbone=dict( 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='torchvision://resnet101'))) 8 | -------------------------------------------------------------------------------- /configs/strong_baselines/mask_rcnn_r50_caffe_fpn_syncbn-all_rpn-2conv_lsj_100e_fp16_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'mask_rcnn_r50_caffe_fpn_syncbn-all_rpn-2conv_lsj_100e_coco.py' 2 | fp16 = dict(loss_scale=512.) 3 | -------------------------------------------------------------------------------- /configs/strong_baselines/mask_rcnn_r50_caffe_fpn_syncbn-all_rpn-2conv_lsj_400e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_r50_caffe_fpn_syncbn-all_rpn-2conv_lsj_100e_coco.py' 2 | 3 | # Use RepeatDataset to speed up training 4 | # change repeat time from 4 (for 100 epochs) to 16 (for 400 epochs) 5 | data = dict(train=dict(times=4 * 4)) 6 | lr_config = dict(warmup_iters=500 * 4) 7 | -------------------------------------------------------------------------------- /configs/strong_baselines/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_lsj_100e_fp16_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_lsj_100e_coco.py' 2 | # use FP16 3 | fp16 = dict(loss_scale=512.) 4 | -------------------------------------------------------------------------------- /configs/strong_baselines/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_lsj_50e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_lsj_100e_coco.py' 2 | 3 | # Use RepeatDataset to speed up training 4 | # change repeat time from 4 (for 100 epochs) to 2 (for 50 epochs) 5 | data = dict(train=dict(times=2)) 6 | -------------------------------------------------------------------------------- /configs/swin/mask_rcnn_swin-s-p4-w7_fpn_fp16_ms-crop-3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_swin-t-p4-w7_fpn_fp16_ms-crop-3x_coco.py' 2 | pretrained = 'https://github.com/SwinTransformer/storage/releases/download/v1.0.0/swin_small_patch4_window7_224.pth' # noqa 3 | model = dict( 4 | backbone=dict( 5 | depths=[2, 2, 18, 2], 6 | init_cfg=dict(type='Pretrained', checkpoint=pretrained))) 7 | -------------------------------------------------------------------------------- /configs/swin/mask_rcnn_swin-t-p4-w7_fpn_fp16_ms-crop-3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './mask_rcnn_swin-t-p4-w7_fpn_ms-crop-3x_coco.py' 2 | # you need to set mode='dynamic' if you are using pytorch<=1.5.0 3 | fp16 = dict(loss_scale=dict(init_scale=512)) 4 | -------------------------------------------------------------------------------- /configs/tridentnet/tridentnet_r50_caffe_mstrain_3x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'tridentnet_r50_caffe_mstrain_1x_coco.py' 2 | 3 | lr_config = dict(step=[28, 34]) 4 | runner = dict(type='EpochBasedRunner', max_epochs=36) 5 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_r101_fpn_1x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_r101_fpn_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_1x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | lr_config = dict(step=[16, 22]) 8 | runner = dict(type='EpochBasedRunner', max_epochs=24) 9 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_r101_fpn_mdconv_c3-c5_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_mdconv_c3-c5_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNet', 5 | depth=101, 6 | num_stages=4, 7 | out_indices=(0, 1, 2, 3), 8 | frozen_stages=1, 9 | norm_cfg=dict(type='BN', requires_grad=True), 10 | norm_eval=True, 11 | style='pytorch', 12 | dcn=dict(type='DCNv2', deform_groups=1, fallback_on_stride=False), 13 | stage_with_dcn=(False, True, True, True), 14 | init_cfg=dict(type='Pretrained', 15 | checkpoint='torchvision://resnet101'))) 16 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_r101_fpn_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | depth=101, 5 | init_cfg=dict(type='Pretrained', 6 | checkpoint='torchvision://resnet101'))) 7 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_r2_101_fpn_mdconv_c3-c5_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_mdconv_c3-c5_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='Res2Net', 5 | depth=101, 6 | scales=4, 7 | base_width=26, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | norm_eval=True, 13 | style='pytorch', 14 | dcn=dict(type='DCNv2', deform_groups=1, fallback_on_stride=False), 15 | stage_with_dcn=(False, True, True, True), 16 | init_cfg=dict( 17 | type='Pretrained', 18 | checkpoint='open-mmlab://res2net101_v1d_26w_4s'))) 19 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_r2_101_fpn_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='Res2Net', 5 | depth=101, 6 | scales=4, 7 | base_width=26, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | norm_eval=True, 13 | style='pytorch', 14 | init_cfg=dict( 15 | type='Pretrained', 16 | checkpoint='open-mmlab://res2net101_v1d_26w_4s'))) 17 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_r50_fpn_mdconv_c3-c5_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | dcn=dict(type='DCNv2', deform_groups=1, fallback_on_stride=False), 5 | stage_with_dcn=(False, True, True, True)), 6 | bbox_head=dict(dcn_on_last_conv=True)) 7 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_x101_32x4d_fpn_mdconv_c3-c5_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_mdconv_c3-c5_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | norm_eval=True, 13 | style='pytorch', 14 | dcn=dict(type='DCNv2', deform_groups=1, fallback_on_stride=False), 15 | stage_with_dcn=(False, True, True, True), 16 | init_cfg=dict( 17 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 18 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_x101_32x4d_fpn_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=32, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | norm_eval=True, 13 | style='pytorch', 14 | init_cfg=dict( 15 | type='Pretrained', checkpoint='open-mmlab://resnext101_32x4d'))) 16 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_x101_64x4d_fpn_mdconv_c3-c5_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_mdconv_c3-c5_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | norm_eval=True, 13 | style='pytorch', 14 | dcn=dict(type='DCNv2', deform_groups=1, fallback_on_stride=False), 15 | stage_with_dcn=(False, True, True, True), 16 | init_cfg=dict( 17 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 18 | -------------------------------------------------------------------------------- /configs/vfnet/vfnet_x101_64x4d_fpn_mstrain_2x_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './vfnet_r50_fpn_mstrain_2x_coco.py' 2 | model = dict( 3 | backbone=dict( 4 | type='ResNeXt', 5 | depth=101, 6 | groups=64, 7 | base_width=4, 8 | num_stages=4, 9 | out_indices=(0, 1, 2, 3), 10 | frozen_stages=1, 11 | norm_cfg=dict(type='BN', requires_grad=True), 12 | norm_eval=True, 13 | style='pytorch', 14 | init_cfg=dict( 15 | type='Pretrained', checkpoint='open-mmlab://resnext101_64x4d'))) 16 | -------------------------------------------------------------------------------- /configs/wider_face/ssd300_wider_face.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ssd300.py', '../_base_/datasets/wider_face.py', 3 | '../_base_/default_runtime.py' 4 | ] 5 | model = dict(bbox_head=dict(num_classes=1)) 6 | # optimizer 7 | optimizer = dict(type='SGD', lr=0.012, momentum=0.9, weight_decay=5e-4) 8 | optimizer_config = dict() 9 | # learning policy 10 | lr_config = dict( 11 | policy='step', 12 | warmup='linear', 13 | warmup_iters=1000, 14 | warmup_ratio=0.001, 15 | step=[16, 20]) 16 | # runtime settings 17 | runner = dict(type='EpochBasedRunner', max_epochs=24) 18 | log_config = dict(interval=1) 19 | -------------------------------------------------------------------------------- /configs/yolact/yolact_r101_1x8_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './yolact_r50_1x8_coco.py' 2 | 3 | model = dict( 4 | backbone=dict( 5 | depth=101, 6 | init_cfg=dict(type='Pretrained', 7 | checkpoint='torchvision://resnet101'))) 8 | -------------------------------------------------------------------------------- /configs/yolact/yolact_r50_8x8_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = 'yolact_r50_1x8_coco.py' 2 | 3 | optimizer = dict(type='SGD', lr=8e-3, momentum=0.9, weight_decay=5e-4) 4 | optimizer_config = dict(grad_clip=dict(max_norm=35, norm_type=2)) 5 | # learning policy 6 | lr_config = dict( 7 | policy='step', 8 | warmup='linear', 9 | warmup_iters=1000, 10 | warmup_ratio=0.1, 11 | step=[20, 42, 49, 52]) 12 | -------------------------------------------------------------------------------- /configs/yolo/yolov3_d53_fp16_mstrain-608_273e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './yolov3_d53_mstrain-608_273e_coco.py' 2 | # fp16 settings 3 | fp16 = dict(loss_scale='dynamic') 4 | -------------------------------------------------------------------------------- /configs/yolox/yolox_l_8x8_300e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './yolox_s_8x8_300e_coco.py' 2 | 3 | # model settings 4 | model = dict( 5 | backbone=dict(deepen_factor=1.0, widen_factor=1.0), 6 | neck=dict( 7 | in_channels=[256, 512, 1024], out_channels=256, num_csp_blocks=3), 8 | bbox_head=dict(in_channels=256, feat_channels=256)) 9 | -------------------------------------------------------------------------------- /configs/yolox/yolox_m_8x8_300e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './yolox_s_8x8_300e_coco.py' 2 | 3 | # model settings 4 | model = dict( 5 | backbone=dict(deepen_factor=0.67, widen_factor=0.75), 6 | neck=dict(in_channels=[192, 384, 768], out_channels=192, num_csp_blocks=2), 7 | bbox_head=dict(in_channels=192, feat_channels=192), 8 | ) 9 | -------------------------------------------------------------------------------- /configs/yolox/yolox_nano_8x8_300e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './yolox_tiny_8x8_300e_coco.py' 2 | 3 | # model settings 4 | model = dict( 5 | backbone=dict(deepen_factor=0.33, widen_factor=0.25, use_depthwise=True), 6 | neck=dict( 7 | in_channels=[64, 128, 256], 8 | out_channels=64, 9 | num_csp_blocks=1, 10 | use_depthwise=True), 11 | bbox_head=dict(in_channels=64, feat_channels=64, use_depthwise=True)) 12 | -------------------------------------------------------------------------------- /configs/yolox/yolox_x_8x8_300e_coco.py: -------------------------------------------------------------------------------- 1 | _base_ = './yolox_s_8x8_300e_coco.py' 2 | 3 | # model settings 4 | model = dict( 5 | backbone=dict(deepen_factor=1.33, widen_factor=1.25), 6 | neck=dict( 7 | in_channels=[320, 640, 1280], out_channels=320, num_csp_blocks=4), 8 | bbox_head=dict(in_channels=320, feat_channels=320)) 9 | -------------------------------------------------------------------------------- /demo/demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/demo/demo.jpg -------------------------------------------------------------------------------- /demo/demo.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/demo/demo.mp4 -------------------------------------------------------------------------------- /docker/serve/config.properties: -------------------------------------------------------------------------------- 1 | inference_address=http://0.0.0.0:8080 2 | management_address=http://0.0.0.0:8081 3 | metrics_address=http://0.0.0.0:8082 4 | model_store=/home/model-server/model-store 5 | load_models=all 6 | -------------------------------------------------------------------------------- /docker/serve/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | if [[ "$1" = "serve" ]]; then 5 | shift 1 6 | torchserve --start --ts-config /home/model-server/config.properties 7 | else 8 | eval "$@" 9 | fi 10 | 11 | # prevent docker exit 12 | tail -f /dev/null 13 | -------------------------------------------------------------------------------- /docs/en/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/en/_static/css/readthedocs.css: -------------------------------------------------------------------------------- 1 | .header-logo { 2 | background-image: url("../image/mmdet-logo.png"); 3 | background-size: 156px 40px; 4 | height: 40px; 5 | width: 156px; 6 | } 7 | -------------------------------------------------------------------------------- /docs/en/_static/image/mmdet-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/docs/en/_static/image/mmdet-logo.png -------------------------------------------------------------------------------- /docs/en/switch_language.md: -------------------------------------------------------------------------------- 1 | ## English 2 | 3 | ## 简体中文 4 | -------------------------------------------------------------------------------- /docs/en/tutorials/index.rst: -------------------------------------------------------------------------------- 1 | .. toctree:: 2 | :maxdepth: 2 3 | 4 | config.md 5 | customize_dataset.md 6 | data_pipeline.md 7 | customize_models.md 8 | customize_runtime.md 9 | customize_losses.md 10 | finetune.md 11 | robustness_benchmarking.md 12 | pytorch2onnx.md 13 | onnx2tensorrt.md 14 | init_cfg.md 15 | -------------------------------------------------------------------------------- /docs/zh_cn/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/zh_cn/_static/css/readthedocs.css: -------------------------------------------------------------------------------- 1 | .header-logo { 2 | background-image: url("../image/mmdet-logo.png"); 3 | background-size: 156px 40px; 4 | height: 40px; 5 | width: 156px; 6 | } 7 | -------------------------------------------------------------------------------- /docs/zh_cn/_static/image/mmdet-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/docs/zh_cn/_static/image/mmdet-logo.png -------------------------------------------------------------------------------- /docs/zh_cn/switch_language.md: -------------------------------------------------------------------------------- 1 | ## English 2 | 3 | ## 简体中文 4 | -------------------------------------------------------------------------------- /docs/zh_cn/tutorials/customize_models.md: -------------------------------------------------------------------------------- 1 | # 教程 4: 自定义模型 2 | -------------------------------------------------------------------------------- /docs/zh_cn/tutorials/customize_runtime.md: -------------------------------------------------------------------------------- 1 | # 教程 5: 自定义训练配置 2 | -------------------------------------------------------------------------------- /docs/zh_cn/tutorials/finetune.md: -------------------------------------------------------------------------------- 1 | # 教程 7: 模型微调 2 | -------------------------------------------------------------------------------- /docs/zh_cn/tutorials/index.rst: -------------------------------------------------------------------------------- 1 | .. toctree:: 2 | :maxdepth: 2 3 | 4 | config.md 5 | customize_dataset.md 6 | data_pipeline.md 7 | customize_models.md 8 | customize_runtime.md 9 | customize_losses.md 10 | finetune.md 11 | pytorch2onnx.md 12 | onnx2tensorrt.md 13 | -------------------------------------------------------------------------------- /docs/zh_cn/tutorials/onnx2tensorrt.md: -------------------------------------------------------------------------------- 1 | # 教程 9: ONNX 到 TensorRT 的模型转换(实验性支持) 2 | -------------------------------------------------------------------------------- /docs/zh_cn/tutorials/pytorch2onnx.md: -------------------------------------------------------------------------------- 1 | # 教程 8: Pytorch 到 ONNX 的模型转换(实验性支持) 2 | -------------------------------------------------------------------------------- /docs/zh_cn/useful_tools.md: -------------------------------------------------------------------------------- 1 | ## 日志分析 2 | -------------------------------------------------------------------------------- /mmdet/apis/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .inference import (async_inference_detector, inference_detector, 3 | init_detector, show_result_pyplot) 4 | from .test import multi_gpu_test, single_gpu_test 5 | from .train import (get_root_logger, init_random_seed, set_random_seed, 6 | train_detector) 7 | 8 | __all__ = [ 9 | 'get_root_logger', 'set_random_seed', 'train_detector', 'init_detector', 10 | 'async_inference_detector', 'inference_detector', 'show_result_pyplot', 11 | 'multi_gpu_test', 'single_gpu_test', 'init_random_seed' 12 | ] 13 | -------------------------------------------------------------------------------- /mmdet/core/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .anchor import * # noqa: F401, F403 3 | from .bbox import * # noqa: F401, F403 4 | from .data_structures import * # noqa: F401, F403 5 | from .evaluation import * # noqa: F401, F403 6 | from .hook import * # noqa: F401, F403 7 | from .mask import * # noqa: F401, F403 8 | from .post_processing import * # noqa: F401, F403 9 | from .utils import * # noqa: F401, F403 10 | from .ufp import * 11 | -------------------------------------------------------------------------------- /mmdet/core/anchor/builder.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | import warnings 3 | 4 | from mmcv.utils import Registry, build_from_cfg 5 | 6 | PRIOR_GENERATORS = Registry('Generator for anchors and points') 7 | 8 | ANCHOR_GENERATORS = PRIOR_GENERATORS 9 | 10 | 11 | def build_prior_generator(cfg, default_args=None): 12 | return build_from_cfg(cfg, PRIOR_GENERATORS, default_args) 13 | 14 | 15 | def build_anchor_generator(cfg, default_args=None): 16 | warnings.warn( 17 | '``build_anchor_generator`` would be deprecated soon, please use ' 18 | '``build_prior_generator`` ') 19 | return build_prior_generator(cfg, default_args=default_args) 20 | -------------------------------------------------------------------------------- /mmdet/core/bbox/assigners/base_assigner.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from abc import ABCMeta, abstractmethod 3 | 4 | 5 | class BaseAssigner(metaclass=ABCMeta): 6 | """Base assigner that assigns boxes to ground truth boxes.""" 7 | 8 | @abstractmethod 9 | def assign(self, bboxes, gt_bboxes, gt_bboxes_ignore=None, gt_labels=None): 10 | """Assign boxes to either a ground truth boxes or a negative boxes.""" 11 | -------------------------------------------------------------------------------- /mmdet/core/bbox/coder/base_bbox_coder.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from abc import ABCMeta, abstractmethod 3 | 4 | 5 | class BaseBBoxCoder(metaclass=ABCMeta): 6 | """Base bounding box coder.""" 7 | 8 | def __init__(self, **kwargs): 9 | pass 10 | 11 | @abstractmethod 12 | def encode(self, bboxes, gt_bboxes): 13 | """Encode deltas between bboxes and ground truth boxes.""" 14 | 15 | @abstractmethod 16 | def decode(self, bboxes, bboxes_pred): 17 | """Decode the predicted bboxes according to prediction and base 18 | boxes.""" 19 | -------------------------------------------------------------------------------- /mmdet/core/bbox/coder/pseudo_bbox_coder.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from ..builder import BBOX_CODERS 3 | from .base_bbox_coder import BaseBBoxCoder 4 | 5 | 6 | @BBOX_CODERS.register_module() 7 | class PseudoBBoxCoder(BaseBBoxCoder): 8 | """Pseudo bounding box coder.""" 9 | 10 | def __init__(self, **kwargs): 11 | super(BaseBBoxCoder, self).__init__(**kwargs) 12 | 13 | def encode(self, bboxes, gt_bboxes): 14 | """torch.Tensor: return the given ``bboxes``""" 15 | return gt_bboxes 16 | 17 | def decode(self, bboxes, pred_bboxes): 18 | """torch.Tensor: return the given ``pred_bboxes``""" 19 | return pred_bboxes 20 | -------------------------------------------------------------------------------- /mmdet/core/bbox/iou_calculators/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .builder import build_iou_calculator 3 | from .iou2d_calculator import BboxOverlaps2D, bbox_overlaps 4 | 5 | __all__ = ['build_iou_calculator', 'BboxOverlaps2D', 'bbox_overlaps'] 6 | -------------------------------------------------------------------------------- /mmdet/core/bbox/iou_calculators/builder.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from mmcv.utils import Registry, build_from_cfg 3 | 4 | IOU_CALCULATORS = Registry('IoU calculator') 5 | 6 | 7 | def build_iou_calculator(cfg, default_args=None): 8 | """Builder of IoU calculator.""" 9 | return build_from_cfg(cfg, IOU_CALCULATORS, default_args) 10 | -------------------------------------------------------------------------------- /mmdet/core/bbox/match_costs/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .builder import build_match_cost 3 | from .match_cost import BBoxL1Cost, ClassificationCost, FocalLossCost, IoUCost 4 | 5 | __all__ = [ 6 | 'build_match_cost', 'ClassificationCost', 'BBoxL1Cost', 'IoUCost', 7 | 'FocalLossCost' 8 | ] 9 | -------------------------------------------------------------------------------- /mmdet/core/bbox/match_costs/builder.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from mmcv.utils import Registry, build_from_cfg 3 | 4 | MATCH_COST = Registry('Match Cost') 5 | 6 | 7 | def build_match_cost(cfg, default_args=None): 8 | """Builder of IoU calculator.""" 9 | return build_from_cfg(cfg, MATCH_COST, default_args) 10 | -------------------------------------------------------------------------------- /mmdet/core/data_structures/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .general_data import GeneralData 3 | from .instance_data import InstanceData 4 | 5 | __all__ = ['GeneralData', 'InstanceData'] 6 | -------------------------------------------------------------------------------- /mmdet/core/export/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .onnx_helper import (add_dummy_nms_for_onnx, dynamic_clip_for_onnx, 3 | get_k_for_topk) 4 | from .pytorch2onnx import (build_model_from_cfg, 5 | generate_inputs_and_wrap_model, 6 | preprocess_example_input) 7 | 8 | __all__ = [ 9 | 'build_model_from_cfg', 'generate_inputs_and_wrap_model', 10 | 'preprocess_example_input', 'get_k_for_topk', 'add_dummy_nms_for_onnx', 11 | 'dynamic_clip_for_onnx' 12 | ] 13 | -------------------------------------------------------------------------------- /mmdet/core/hook/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .checkloss_hook import CheckInvalidLossHook 3 | from .ema import ExpMomentumEMAHook, LinearMomentumEMAHook 4 | from .sync_norm_hook import SyncNormHook 5 | from .sync_random_size_hook import SyncRandomSizeHook 6 | from .yolox_lrupdater_hook import YOLOXLrUpdaterHook 7 | from .yolox_mode_switch_hook import YOLOXModeSwitchHook 8 | from .optimal_transport_hook import OptimalTransportHook 9 | 10 | __all__ = [ 11 | 'SyncRandomSizeHook', 'YOLOXModeSwitchHook', 'SyncNormHook', 12 | 'ExpMomentumEMAHook', 'LinearMomentumEMAHook', 'YOLOXLrUpdaterHook', 13 | 'CheckInvalidLossHook', 'OptimalTransportHook' 14 | ] 15 | -------------------------------------------------------------------------------- /mmdet/core/mask/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .mask_target import mask_target 3 | from .structures import BaseInstanceMasks, BitmapMasks, PolygonMasks 4 | from .utils import encode_mask_results, split_combined_polys 5 | 6 | __all__ = [ 7 | 'split_combined_polys', 'mask_target', 'BaseInstanceMasks', 'BitmapMasks', 8 | 'PolygonMasks', 'encode_mask_results' 9 | ] 10 | -------------------------------------------------------------------------------- /mmdet/core/post_processing/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .bbox_nms import fast_nms, multiclass_nms 3 | from .matrix_nms import mask_matrix_nms 4 | from .merge_augs import (merge_aug_bboxes, merge_aug_masks, 5 | merge_aug_proposals, merge_aug_scores) 6 | 7 | __all__ = [ 8 | 'multiclass_nms', 'merge_aug_proposals', 'merge_aug_bboxes', 9 | 'merge_aug_scores', 'merge_aug_masks', 'mask_matrix_nms', 'fast_nms' 10 | ] 11 | -------------------------------------------------------------------------------- /mmdet/core/ufp/__init__.py: -------------------------------------------------------------------------------- 1 | from .spp import * 2 | from .unified_foreground_packing import * 3 | 4 | __all__ = [ 5 | 'phsppog', 'UnifiedForegroundPacking' 6 | ] 7 | -------------------------------------------------------------------------------- /mmdet/core/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .dist_utils import (DistOptimizerHook, all_reduce_dict, allreduce_grads, 3 | reduce_mean) 4 | from .misc import (center_of_mass, filter_scores_and_topk, flip_tensor, 5 | generate_coordinate, mask2ndarray, multi_apply, 6 | select_single_mlvl, unmap) 7 | 8 | __all__ = [ 9 | 'allreduce_grads', 'DistOptimizerHook', 'reduce_mean', 'multi_apply', 10 | 'unmap', 'mask2ndarray', 'flip_tensor', 'all_reduce_dict', 11 | 'center_of_mass', 'generate_coordinate', 'select_single_mlvl', 12 | 'filter_scores_and_topk' 13 | ] 14 | -------------------------------------------------------------------------------- /mmdet/core/visualization/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .image import (color_val_matplotlib, imshow_det_bboxes, 3 | imshow_gt_det_bboxes) 4 | 5 | __all__ = ['imshow_det_bboxes', 'imshow_gt_det_bboxes', 'color_val_matplotlib'] 6 | -------------------------------------------------------------------------------- /mmdet/datasets/api_wrappers/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .coco_api import COCO, COCOeval 3 | from .panoptic_evaluation import pq_compute_multi_core, pq_compute_single_core 4 | 5 | __all__ = [ 6 | 'COCO', 'COCOeval', 'pq_compute_multi_core', 'pq_compute_single_core' 7 | ] 8 | -------------------------------------------------------------------------------- /mmdet/datasets/deepfashion.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .builder import DATASETS 3 | from .coco import CocoDataset 4 | 5 | 6 | @DATASETS.register_module() 7 | class DeepFashionDataset(CocoDataset): 8 | 9 | CLASSES = ('top', 'skirt', 'leggings', 'dress', 'outer', 'pants', 'bag', 10 | 'neckwear', 'headwear', 'eyeglass', 'belt', 'footwear', 'hair', 11 | 'skin', 'face') 12 | -------------------------------------------------------------------------------- /mmdet/datasets/samplers/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .distributed_sampler import DistributedSampler 3 | from .group_sampler import DistributedGroupSampler, GroupSampler 4 | from .infinite_sampler import InfiniteBatchSampler, InfiniteGroupBatchSampler 5 | 6 | __all__ = [ 7 | 'DistributedSampler', 'DistributedGroupSampler', 'GroupSampler', 8 | 'InfiniteGroupBatchSampler', 'InfiniteBatchSampler' 9 | ] 10 | -------------------------------------------------------------------------------- /mmdet/models/detectors/deformable_detr.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from ..builder import DETECTORS 3 | from .detr import DETR 4 | 5 | 6 | @DETECTORS.register_module() 7 | class DeformableDETR(DETR): 8 | 9 | def __init__(self, *args, **kwargs): 10 | super(DETR, self).__init__(*args, **kwargs) 11 | -------------------------------------------------------------------------------- /mmdet/models/detectors/gfl.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from ..builder import DETECTORS 3 | from .single_stage import SingleStageDetector 4 | 5 | 6 | @DETECTORS.register_module() 7 | class GFL(SingleStageDetector): 8 | 9 | def __init__(self, 10 | backbone, 11 | neck, 12 | bbox_head, 13 | train_cfg=None, 14 | test_cfg=None, 15 | pretrained=None, 16 | init_cfg=None): 17 | super(GFL, self).__init__(backbone, neck, bbox_head, train_cfg, 18 | test_cfg, pretrained, init_cfg) 19 | -------------------------------------------------------------------------------- /mmdet/models/detectors/htc.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from ..builder import DETECTORS 3 | from .cascade_rcnn import CascadeRCNN 4 | 5 | 6 | @DETECTORS.register_module() 7 | class HybridTaskCascade(CascadeRCNN): 8 | """Implementation of `HTC `_""" 9 | 10 | def __init__(self, **kwargs): 11 | super(HybridTaskCascade, self).__init__(**kwargs) 12 | 13 | @property 14 | def with_semantic(self): 15 | """bool: whether the detector has a semantic head""" 16 | return self.roi_head.with_semantic 17 | -------------------------------------------------------------------------------- /mmdet/models/detectors/mpdet.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from ..builder import DETECTORS 3 | from .single_stage import SingleStageDetector 4 | 5 | 6 | @DETECTORS.register_module() 7 | class MPDet(SingleStageDetector): 8 | 9 | def __init__(self, 10 | backbone, 11 | neck, 12 | bbox_head, 13 | train_cfg=None, 14 | test_cfg=None, 15 | pretrained=None, 16 | init_cfg=None): 17 | super(MPDet, self).__init__(backbone, neck, bbox_head, train_cfg, 18 | test_cfg, pretrained, init_cfg) 19 | -------------------------------------------------------------------------------- /mmdet/models/detectors/scnet.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from ..builder import DETECTORS 3 | from .cascade_rcnn import CascadeRCNN 4 | 5 | 6 | @DETECTORS.register_module() 7 | class SCNet(CascadeRCNN): 8 | """Implementation of `SCNet `_""" 9 | 10 | def __init__(self, **kwargs): 11 | super(SCNet, self).__init__(**kwargs) 12 | -------------------------------------------------------------------------------- /mmdet/models/detectors/ufpmp_det.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/mmdet/models/detectors/ufpmp_det.py -------------------------------------------------------------------------------- /mmdet/models/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .dropblock import DropBlock 3 | 4 | __all__ = ['DropBlock'] 5 | -------------------------------------------------------------------------------- /mmdet/models/roi_heads/bbox_heads/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .bbox_head import BBoxHead 3 | from .convfc_bbox_head import (ConvFCBBoxHead, Shared2FCBBoxHead, 4 | Shared4Conv1FCBBoxHead) 5 | from .dii_head import DIIHead 6 | from .double_bbox_head import DoubleConvFCBBoxHead 7 | from .sabl_head import SABLHead 8 | from .scnet_bbox_head import SCNetBBoxHead 9 | 10 | __all__ = [ 11 | 'BBoxHead', 'ConvFCBBoxHead', 'Shared2FCBBoxHead', 12 | 'Shared4Conv1FCBBoxHead', 'DoubleConvFCBBoxHead', 'SABLHead', 'DIIHead', 13 | 'SCNetBBoxHead' 14 | ] 15 | -------------------------------------------------------------------------------- /mmdet/models/roi_heads/roi_extractors/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .base_roi_extractor import BaseRoIExtractor 3 | from .generic_roi_extractor import GenericRoIExtractor 4 | from .single_level_roi_extractor import SingleRoIExtractor 5 | 6 | __all__ = ['BaseRoIExtractor', 'SingleRoIExtractor', 'GenericRoIExtractor'] 7 | -------------------------------------------------------------------------------- /mmdet/models/roi_heads/shared_heads/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .res_layer import ResLayer 3 | 4 | __all__ = ['ResLayer'] 5 | -------------------------------------------------------------------------------- /mmdet/models/seg_heads/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .panoptic_fpn_head import PanopticFPNHead # noqa: F401,F403 3 | from .panoptic_fusion_heads import * # noqa: F401,F403 4 | -------------------------------------------------------------------------------- /mmdet/models/seg_heads/panoptic_fusion_heads/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .base_panoptic_fusion_head import \ 3 | BasePanopticFusionHead # noqa: F401,F403 4 | from .heuristic_fusion_head import HeuristicFusionHead # noqa: F401,F403 5 | -------------------------------------------------------------------------------- /mmdet/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .collect_env import collect_env 3 | from .logger import get_root_logger 4 | 5 | __all__ = ['get_root_logger', 'collect_env'] 6 | -------------------------------------------------------------------------------- /mmdet/utils/collect_env.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from mmcv.utils import collect_env as collect_base_env 3 | from mmcv.utils import get_git_hash 4 | 5 | import mmdet 6 | 7 | 8 | def collect_env(): 9 | """Collect the information of the running environments.""" 10 | env_info = collect_base_env() 11 | env_info['MMDetection'] = mmdet.__version__ + '+' + get_git_hash()[:7] 12 | return env_info 13 | 14 | 15 | if __name__ == '__main__': 16 | for name, val in collect_env().items(): 17 | print(f'{name}: {val}') 18 | -------------------------------------------------------------------------------- /mmdet/utils/logger.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | import logging 3 | 4 | from mmcv.utils import get_logger 5 | 6 | 7 | def get_root_logger(log_file=None, log_level=logging.INFO): 8 | """Get root logger. 9 | 10 | Args: 11 | log_file (str, optional): File path of log. Defaults to None. 12 | log_level (int, optional): The level of logger. 13 | Defaults to logging.INFO. 14 | 15 | Returns: 16 | :obj:`logging.Logger`: The obtained logger 17 | """ 18 | logger = get_logger(name='mmdet', log_file=log_file, log_level=log_level) 19 | 20 | return logger 21 | -------------------------------------------------------------------------------- /mmdet/version.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | 3 | __version__ = '2.19.1' 4 | short_version = __version__ 5 | 6 | 7 | def parse_version_info(version_str): 8 | version_info = [] 9 | for x in version_str.split('.'): 10 | if x.isdigit(): 11 | version_info.append(int(x)) 12 | elif x.find('rc') != -1: 13 | patch_version = x.split('rc') 14 | version_info.append(int(patch_version[0])) 15 | version_info.append(f'rc{patch_version[1]}') 16 | return tuple(version_info) 17 | 18 | 19 | version_info = parse_version_info(__version__) 20 | -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | addopts = --xdoctest --xdoctest-style=auto 3 | norecursedirs = .git ignore build __pycache__ data docker docs .eggs 4 | 5 | filterwarnings= default 6 | ignore:.*No cfgstr given in Cacher constructor or call.*:Warning 7 | ignore:.*Define the __nice__ method for.*:Warning 8 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | -r requirements/build.txt 2 | -r requirements/optional.txt 3 | -r requirements/runtime.txt 4 | -r requirements/tests.txt 5 | -------------------------------------------------------------------------------- /requirements/build.txt: -------------------------------------------------------------------------------- 1 | # These must be installed before building mmdetection 2 | cython 3 | numpy 4 | -------------------------------------------------------------------------------- /requirements/docs.txt: -------------------------------------------------------------------------------- 1 | docutils==0.16.0 2 | -e git+https://github.com/open-mmlab/pytorch_sphinx_theme.git#egg=pytorch_sphinx_theme 3 | recommonmark 4 | sphinx==4.0.2 5 | sphinx-copybutton 6 | sphinx_markdown_tables 7 | sphinx_rtd_theme==0.5.2 8 | -------------------------------------------------------------------------------- /requirements/mminstall.txt: -------------------------------------------------------------------------------- 1 | mmcv-full>=1.3.17 2 | -------------------------------------------------------------------------------- /requirements/optional.txt: -------------------------------------------------------------------------------- 1 | cityscapesscripts 2 | imagecorruptions 3 | scipy 4 | sklearn 5 | -------------------------------------------------------------------------------- /requirements/readthedocs.txt: -------------------------------------------------------------------------------- 1 | mmcv 2 | torch 3 | torchvision 4 | -------------------------------------------------------------------------------- /requirements/runtime.txt: -------------------------------------------------------------------------------- 1 | matplotlib 2 | numpy 3 | pycocotools; platform_system == "Linux" 4 | pycocotools-windows; platform_system == "Windows" 5 | six 6 | terminaltables 7 | -------------------------------------------------------------------------------- /requirements/tests.txt: -------------------------------------------------------------------------------- 1 | asynctest 2 | codecov 3 | flake8 4 | interrogate 5 | isort==4.3.21 6 | # Note: used for kwarray.group_items, this may be ported to mmcv in the future. 7 | kwarray 8 | -e git+https://github.com/open-mmlab/mmtracking#egg=mmtrack 9 | onnx==1.7.0 10 | onnxruntime>=1.8.0 11 | pytest 12 | ubelt 13 | xdoctest>=0.10.0 14 | yapf 15 | -------------------------------------------------------------------------------- /resources/coco_test_12510.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/resources/coco_test_12510.jpg -------------------------------------------------------------------------------- /resources/corruptions_sev_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/resources/corruptions_sev_3.png -------------------------------------------------------------------------------- /resources/data_pipeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/resources/data_pipeline.png -------------------------------------------------------------------------------- /resources/loss_curve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/resources/loss_curve.png -------------------------------------------------------------------------------- /resources/mmdet-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/resources/mmdet-logo.png -------------------------------------------------------------------------------- /resources/qq_group_qrcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/resources/qq_group_qrcode.jpg -------------------------------------------------------------------------------- /resources/zhihu_qrcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PuAnysh/UFPMP-Det/6809b4f8de3aa1d013a3f86114bc3e8496d896a9/resources/zhihu_qrcode.jpg -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [isort] 2 | line_length = 79 3 | multi_line_output = 0 4 | known_standard_library = setuptools 5 | known_first_party = mmdet 6 | known_third_party = PIL,asynctest,cityscapesscripts,cv2,gather_models,matplotlib,mmcv,numpy,onnx,onnxruntime,pycocotools,pytest,pytorch_sphinx_theme,requests,scipy,seaborn,six,terminaltables,torch,ts,yaml 7 | no_lines_before = STDLIB,LOCALFOLDER 8 | default_section = THIRDPARTY 9 | 10 | [yapf] 11 | BASED_ON_STYLE = pep8 12 | BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = true 13 | SPLIT_BEFORE_EXPRESSION_AFTER_OPENING_PAREN = true 14 | 15 | [codespell] 16 | skip = *.ipynb 17 | quiet-level = 3 18 | ignore-words-list = patten,nd,ty,mot,hist,formating,winn,gool,datas,wan,confids 19 | -------------------------------------------------------------------------------- /tests/test_data/test_pipelines/test_transform/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .utils import check_result_same, construct_toy_data, create_random_bboxes 3 | 4 | __all__ = ['create_random_bboxes', 'construct_toy_data', 'check_result_same'] 5 | -------------------------------------------------------------------------------- /tests/test_models/test_backbones/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .utils import check_norm_state, is_block, is_norm 3 | 4 | __all__ = ['is_block', 'is_norm', 'check_norm_state'] 5 | -------------------------------------------------------------------------------- /tests/test_models/test_roi_heads/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .utils import _dummy_bbox_sampling 3 | 4 | __all__ = ['_dummy_bbox_sampling'] 5 | -------------------------------------------------------------------------------- /tests/test_onnx/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) OpenMMLab. All rights reserved. 2 | from .utils import ort_validate 3 | 4 | __all__ = ['ort_validate'] 5 | -------------------------------------------------------------------------------- /tools/dist_test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | CONFIG=$1 4 | CHECKPOINT=$2 5 | GPUS=$3 6 | PORT=${PORT:-29500} 7 | 8 | PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \ 9 | python -m torch.distributed.launch --nproc_per_node=$GPUS --master_port=$PORT \ 10 | $(dirname "$0")/test.py $CONFIG $CHECKPOINT --launcher pytorch ${@:4} 11 | -------------------------------------------------------------------------------- /tools/dist_train.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | CONFIG=$1 4 | GPUS=$2 5 | PORT=${PORT:-29500} 6 | 7 | PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \ 8 | python -m torch.distributed.launch --nproc_per_node=$GPUS --master_port=$PORT \ 9 | $(dirname "$0")/train.py $CONFIG --launcher pytorch ${@:3} 10 | -------------------------------------------------------------------------------- /tools/slurm_test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -x 4 | 5 | PARTITION=$1 6 | JOB_NAME=$2 7 | CONFIG=$3 8 | CHECKPOINT=$4 9 | GPUS=${GPUS:-8} 10 | GPUS_PER_NODE=${GPUS_PER_NODE:-8} 11 | CPUS_PER_TASK=${CPUS_PER_TASK:-5} 12 | PY_ARGS=${@:5} 13 | SRUN_ARGS=${SRUN_ARGS:-""} 14 | 15 | PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \ 16 | srun -p ${PARTITION} \ 17 | --job-name=${JOB_NAME} \ 18 | --gres=gpu:${GPUS_PER_NODE} \ 19 | --ntasks=${GPUS} \ 20 | --ntasks-per-node=${GPUS_PER_NODE} \ 21 | --cpus-per-task=${CPUS_PER_TASK} \ 22 | --kill-on-bad-exit=1 \ 23 | ${SRUN_ARGS} \ 24 | python -u tools/test.py ${CONFIG} ${CHECKPOINT} --launcher="slurm" ${PY_ARGS} 25 | -------------------------------------------------------------------------------- /tools/slurm_train.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -x 4 | 5 | PARTITION=$1 6 | JOB_NAME=$2 7 | CONFIG=$3 8 | WORK_DIR=$4 9 | GPUS=${GPUS:-8} 10 | GPUS_PER_NODE=${GPUS_PER_NODE:-8} 11 | CPUS_PER_TASK=${CPUS_PER_TASK:-5} 12 | SRUN_ARGS=${SRUN_ARGS:-""} 13 | PY_ARGS=${@:5} 14 | 15 | PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \ 16 | srun -p ${PARTITION} \ 17 | --job-name=${JOB_NAME} \ 18 | --gres=gpu:${GPUS_PER_NODE} \ 19 | --ntasks=${GPUS} \ 20 | --ntasks-per-node=${GPUS_PER_NODE} \ 21 | --cpus-per-task=${CPUS_PER_TASK} \ 22 | --kill-on-bad-exit=1 \ 23 | ${SRUN_ARGS} \ 24 | python -u tools/train.py ${CONFIG} --work-dir=${WORK_DIR} --launcher="slurm" ${PY_ARGS} 25 | --------------------------------------------------------------------------------