├── .gitignore ├── LICENSE ├── README.md ├── classification ├── README.md ├── configs │ ├── dualvit │ │ ├── dualvit_b.py │ │ ├── dualvit_l.py │ │ └── dualvit_s.py │ └── wavevit │ │ ├── wavevit_b.py │ │ ├── wavevit_l.py │ │ └── wavevit_s.py ├── datasets.py ├── dualvit.py ├── engine.py ├── loss │ ├── __init__.py │ └── cross_entropy.py ├── losses.py ├── main.py ├── mcloader │ ├── __init__.py │ ├── classification.py │ ├── data_prefetcher.py │ ├── image_list.py │ ├── imagenet.py │ └── mcloader.py ├── samplers.py ├── torch_wavelets.py ├── train.sh ├── util │ ├── __init__.py │ ├── checkpoint_saver.py │ ├── flops_counter.py │ └── util.py ├── utils.py └── wavevit.py ├── images ├── CoTNet_framework.jpg ├── DualVit_framework.jpg └── WaveVit_framework.jpg ├── object_detection ├── Pretrained │ └── convert.py ├── README.md ├── configs │ ├── dualvit │ │ ├── _base_ │ │ │ ├── datasets │ │ │ │ ├── cityscapes_detection.py │ │ │ │ ├── cityscapes_instance.py │ │ │ │ ├── coco_detection.py │ │ │ │ ├── coco_instance.py │ │ │ │ ├── coco_instance_semantic.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_mask_rcnn_vit_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 │ │ ├── atss_dualvit_s_fpn_3x_mstrain_fp16.py │ │ ├── cascade_mask_rcnn_dualvit_s_fpn_3x_mstrain_fp16.py │ │ ├── gfl_dualvit_s_fpn_3x_mstrain_fp16.py │ │ ├── mask_rcnn_dualvit_b_fpn_1x_coco.py │ │ ├── mask_rcnn_dualvit_s_fpn_1x_coco.py │ │ ├── retinanet_dualvit_b_fpn_1x_coco.py │ │ ├── retinanet_dualvit_s_fpn_1x_coco.py │ │ └── sparse_rcnn_dualvit_b_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py │ └── wavevit │ │ ├── _base_ │ │ ├── datasets │ │ │ ├── cityscapes_detection.py │ │ │ ├── cityscapes_instance.py │ │ │ ├── coco_detection.py │ │ │ ├── coco_instance.py │ │ │ ├── coco_instance_semantic.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_mask_rcnn_vit_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 │ │ ├── atss_wavevit_s_fpn_3x_mstrain_fp16.py │ │ ├── cascade_mask_rcnn_wavevit_s_fpn_3x_mstrain_fp16.py │ │ ├── gfl_wavevit_s_fpn_3x_mstrain_fp16.py │ │ ├── mask_rcnn_wavevit_b_fpn_1x_coco.py │ │ ├── mask_rcnn_wavevit_s_fpn_1x_coco.py │ │ ├── retinanet_wavevit_b_fpn_1x_coco.py │ │ ├── retinanet_wavevit_s_fpn_1x_coco.py │ │ └── sparse_rcnn_wavevit_s_fpn_300_proposals_crop_mstrain_480-800_3x_coco.py ├── data │ └── coco │ │ ├── annotations │ │ ├── train2017 │ │ └── val2017 ├── dist_test.sh ├── dist_train.sh ├── dualvit.py ├── mmcv_custom │ ├── __init__.py │ └── runner │ │ ├── checkpoint.py │ │ ├── epoch_based_runner.py │ │ └── optimizer.py ├── mmdet_custom │ └── apis │ │ ├── train.py │ │ └── transformer.py ├── train.py └── wavevit.py └── semantic_segmentation ├── LICENSE ├── README.md ├── configs ├── _base_ │ ├── datasets │ │ ├── ade20k.py │ │ ├── cade20k.py │ │ ├── chase_db1.py │ │ ├── cityscapes.py │ │ ├── cityscapes_769x769.py │ │ ├── d2ade20k.py │ │ ├── dade20k.py │ │ ├── drive.py │ │ ├── hrf.py │ │ ├── pascal_context.py │ │ ├── pascal_voc12.py │ │ ├── pascal_voc12_aug.py │ │ └── stare.py │ ├── default_runtime.py │ ├── models │ │ ├── ann_r50-d8.py │ │ ├── apcnet_r50-d8.py │ │ ├── ccnet_r50-d8.py │ │ ├── cgnet.py │ │ ├── danet_r50-d8.py │ │ ├── deeplabv3_r50-d8.py │ │ ├── deeplabv3_unet_s5-d16.py │ │ ├── deeplabv3plus_r50-d8.py │ │ ├── dmnet_r50-d8.py │ │ ├── dnl_r50-d8.py │ │ ├── emanet_r50-d8.py │ │ ├── encnet_r50-d8.py │ │ ├── fast_scnn.py │ │ ├── fcn_hr18.py │ │ ├── fcn_r50-d8.py │ │ ├── fcn_unet_s5-d16.py │ │ ├── fpn_r50.py │ │ ├── gcnet_r50-d8.py │ │ ├── lraspp_m-v3-d8.py │ │ ├── nonlocal_r50-d8.py │ │ ├── ocrnet_hr18.py │ │ ├── ocrnet_r50-d8.py │ │ ├── pointrend_r50.py │ │ ├── psanet_r50-d8.py │ │ ├── pspnet_r50-d8.py │ │ ├── pspnet_unet_s5-d16.py │ │ ├── upernet_dualvit.py │ │ ├── upernet_r50.py │ │ ├── upernet_swin.py │ │ └── upernet_wavevit.py │ └── schedules │ │ ├── schedule_160k.py │ │ ├── schedule_20k.py │ │ ├── schedule_40k.py │ │ └── schedule_80k.py ├── ann │ ├── README.md │ ├── ann_r101-d8_512x1024_40k_cityscapes.py │ ├── ann_r101-d8_512x1024_80k_cityscapes.py │ ├── ann_r101-d8_512x512_160k_ade20k.py │ ├── ann_r101-d8_512x512_20k_voc12aug.py │ ├── ann_r101-d8_512x512_40k_voc12aug.py │ ├── ann_r101-d8_512x512_80k_ade20k.py │ ├── ann_r101-d8_769x769_40k_cityscapes.py │ ├── ann_r101-d8_769x769_80k_cityscapes.py │ ├── ann_r50-d8_512x1024_40k_cityscapes.py │ ├── ann_r50-d8_512x1024_80k_cityscapes.py │ ├── ann_r50-d8_512x512_160k_ade20k.py │ ├── ann_r50-d8_512x512_20k_voc12aug.py │ ├── ann_r50-d8_512x512_40k_voc12aug.py │ ├── ann_r50-d8_512x512_80k_ade20k.py │ ├── ann_r50-d8_769x769_40k_cityscapes.py │ └── ann_r50-d8_769x769_80k_cityscapes.py ├── apcnet │ ├── README.md │ ├── apcnet_r101-d8_512x1024_40k_cityscapes.py │ ├── apcnet_r101-d8_512x1024_80k_cityscapes.py │ ├── apcnet_r101-d8_512x512_160k_ade20k.py │ ├── apcnet_r101-d8_512x512_80k_ade20k.py │ ├── apcnet_r101-d8_769x769_40k_cityscapes.py │ ├── apcnet_r101-d8_769x769_80k_cityscapes.py │ ├── apcnet_r50-d8_512x1024_40k_cityscapes.py │ ├── apcnet_r50-d8_512x1024_80k_cityscapes.py │ ├── apcnet_r50-d8_512x512_160k_ade20k.py │ ├── apcnet_r50-d8_512x512_80k_ade20k.py │ ├── apcnet_r50-d8_769x769_40k_cityscapes.py │ └── apcnet_r50-d8_769x769_80k_cityscapes.py ├── ccnet │ ├── README.md │ ├── ccnet_r101-d8_512x1024_40k_cityscapes.py │ ├── ccnet_r101-d8_512x1024_80k_cityscapes.py │ ├── ccnet_r101-d8_512x512_160k_ade20k.py │ ├── ccnet_r101-d8_512x512_20k_voc12aug.py │ ├── ccnet_r101-d8_512x512_40k_voc12aug.py │ ├── ccnet_r101-d8_512x512_80k_ade20k.py │ ├── ccnet_r101-d8_769x769_40k_cityscapes.py │ ├── ccnet_r101-d8_769x769_80k_cityscapes.py │ ├── ccnet_r50-d8_512x1024_40k_cityscapes.py │ ├── ccnet_r50-d8_512x1024_80k_cityscapes.py │ ├── ccnet_r50-d8_512x512_160k_ade20k.py │ ├── ccnet_r50-d8_512x512_20k_voc12aug.py │ ├── ccnet_r50-d8_512x512_40k_voc12aug.py │ ├── ccnet_r50-d8_512x512_80k_ade20k.py │ ├── ccnet_r50-d8_769x769_40k_cityscapes.py │ └── ccnet_r50-d8_769x769_80k_cityscapes.py ├── cgnet │ ├── README.md │ ├── cgnet_512x1024_60k_cityscapes.py │ └── cgnet_680x680_60k_cityscapes.py ├── danet │ ├── README.md │ ├── danet_r101-d8_512x1024_40k_cityscapes.py │ ├── danet_r101-d8_512x1024_80k_cityscapes.py │ ├── danet_r101-d8_512x512_160k_ade20k.py │ ├── danet_r101-d8_512x512_20k_voc12aug.py │ ├── danet_r101-d8_512x512_40k_voc12aug.py │ ├── danet_r101-d8_512x512_80k_ade20k.py │ ├── danet_r101-d8_769x769_40k_cityscapes.py │ ├── danet_r101-d8_769x769_80k_cityscapes.py │ ├── danet_r50-d8_512x1024_40k_cityscapes.py │ ├── danet_r50-d8_512x1024_80k_cityscapes.py │ ├── danet_r50-d8_512x512_160k_ade20k.py │ ├── danet_r50-d8_512x512_20k_voc12aug.py │ ├── danet_r50-d8_512x512_40k_voc12aug.py │ ├── danet_r50-d8_512x512_80k_ade20k.py │ ├── danet_r50-d8_769x769_40k_cityscapes.py │ └── danet_r50-d8_769x769_80k_cityscapes.py ├── deeplabv3 │ ├── README.md │ ├── deeplabv3_r101-d16-mg124_512x1024_40k_cityscapes.py │ ├── deeplabv3_r101-d16-mg124_512x1024_80k_cityscapes.py │ ├── deeplabv3_r101-d8_480x480_40k_pascal_context.py │ ├── deeplabv3_r101-d8_480x480_80k_pascal_context.py │ ├── deeplabv3_r101-d8_512x1024_40k_cityscapes.py │ ├── deeplabv3_r101-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3_r101-d8_512x512_160k_ade20k.py │ ├── deeplabv3_r101-d8_512x512_20k_voc12aug.py │ ├── deeplabv3_r101-d8_512x512_40k_voc12aug.py │ ├── deeplabv3_r101-d8_512x512_80k_ade20k.py │ ├── deeplabv3_r101-d8_769x769_40k_cityscapes.py │ ├── deeplabv3_r101-d8_769x769_80k_cityscapes.py │ ├── deeplabv3_r101b-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3_r101b-d8_769x769_80k_cityscapes.py │ ├── deeplabv3_r18-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3_r18-d8_769x769_80k_cityscapes.py │ ├── deeplabv3_r18b-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3_r18b-d8_769x769_80k_cityscapes.py │ ├── deeplabv3_r50-d8_480x480_40k_pascal_context.py │ ├── deeplabv3_r50-d8_480x480_80k_pascal_context.py │ ├── deeplabv3_r50-d8_512x1024_40k_cityscapes.py │ ├── deeplabv3_r50-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3_r50-d8_512x512_160k_ade20k.py │ ├── deeplabv3_r50-d8_512x512_20k_voc12aug.py │ ├── deeplabv3_r50-d8_512x512_40k_voc12aug.py │ ├── deeplabv3_r50-d8_512x512_80k_ade20k.py │ ├── deeplabv3_r50-d8_769x769_40k_cityscapes.py │ ├── deeplabv3_r50-d8_769x769_80k_cityscapes.py │ ├── deeplabv3_r50b-d8_512x1024_80k_cityscapes.py │ └── deeplabv3_r50b-d8_769x769_80k_cityscapes.py ├── deeplabv3plus │ ├── README.md │ ├── deeplabv3plus_r101-d16-mg124_512x1024_40k_cityscapes.py │ ├── deeplabv3plus_r101-d16-mg124_512x1024_80k_cityscapes.py │ ├── deeplabv3plus_r101-d8_480x480_40k_pascal_context.py │ ├── deeplabv3plus_r101-d8_480x480_80k_pascal_context.py │ ├── deeplabv3plus_r101-d8_512x1024_40k_cityscapes.py │ ├── deeplabv3plus_r101-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3plus_r101-d8_512x512_160k_ade20k.py │ ├── deeplabv3plus_r101-d8_512x512_20k_voc12aug.py │ ├── deeplabv3plus_r101-d8_512x512_40k_voc12aug.py │ ├── deeplabv3plus_r101-d8_512x512_80k_ade20k.py │ ├── deeplabv3plus_r101-d8_769x769_40k_cityscapes.py │ ├── deeplabv3plus_r101-d8_769x769_80k_cityscapes.py │ ├── deeplabv3plus_r101b-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3plus_r101b-d8_769x769_80k_cityscapes.py │ ├── deeplabv3plus_r18-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3plus_r18-d8_769x769_80k_cityscapes.py │ ├── deeplabv3plus_r18b-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3plus_r18b-d8_769x769_80k_cityscapes.py │ ├── deeplabv3plus_r50-d8_480x480_40k_pascal_context.py │ ├── deeplabv3plus_r50-d8_480x480_80k_pascal_context.py │ ├── deeplabv3plus_r50-d8_512x1024_40k_cityscapes.py │ ├── deeplabv3plus_r50-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3plus_r50-d8_512x512_160k_ade20k.py │ ├── deeplabv3plus_r50-d8_512x512_20k_voc12aug.py │ ├── deeplabv3plus_r50-d8_512x512_40k_voc12aug.py │ ├── deeplabv3plus_r50-d8_512x512_80k_ade20k.py │ ├── deeplabv3plus_r50-d8_769x769_40k_cityscapes.py │ ├── deeplabv3plus_r50-d8_769x769_80k_cityscapes.py │ ├── deeplabv3plus_r50b-d8_512x1024_80k_cityscapes.py │ └── deeplabv3plus_r50b-d8_769x769_80k_cityscapes.py ├── dmnet │ ├── README.md │ ├── dmnet_r101-d8_512x1024_40k_cityscapes.py │ ├── dmnet_r101-d8_512x1024_80k_cityscapes.py │ ├── dmnet_r101-d8_512x512_160k_ade20k.py │ ├── dmnet_r101-d8_512x512_80k_ade20k.py │ ├── dmnet_r101-d8_769x769_40k_cityscapes.py │ ├── dmnet_r101-d8_769x769_80k_cityscapes.py │ ├── dmnet_r50-d8_512x1024_40k_cityscapes.py │ ├── dmnet_r50-d8_512x1024_80k_cityscapes.py │ ├── dmnet_r50-d8_512x512_160k_ade20k.py │ ├── dmnet_r50-d8_512x512_80k_ade20k.py │ ├── dmnet_r50-d8_769x769_40k_cityscapes.py │ └── dmnet_r50-d8_769x769_80k_cityscapes.py ├── dnlnet │ ├── README.md │ ├── dnl_r101-d8_512x1024_40k_cityscapes.py │ ├── dnl_r101-d8_512x1024_80k_cityscapes.py │ ├── dnl_r101-d8_512x512_160k_ade20k.py │ ├── dnl_r101-d8_512x512_80k_ade20k.py │ ├── dnl_r101-d8_769x769_40k_cityscapes.py │ ├── dnl_r101-d8_769x769_80k_cityscapes.py │ ├── dnl_r50-d8_512x1024_40k_cityscapes.py │ ├── dnl_r50-d8_512x1024_80k_cityscapes.py │ ├── dnl_r50-d8_512x512_160k_ade20k.py │ ├── dnl_r50-d8_512x512_80k_ade20k.py │ ├── dnl_r50-d8_769x769_40k_cityscapes.py │ └── dnl_r50-d8_769x769_80k_cityscapes.py ├── dualvit │ ├── upernet_dualvit_b_512x512_160k_ade20k.py │ └── upernet_dualvit_s_512x512_160k_ade20k.py ├── emanet │ ├── README.md │ ├── emanet_r101-d8_512x1024_80k_cityscapes.py │ ├── emanet_r101-d8_769x769_80k_cityscapes.py │ ├── emanet_r50-d8_512x1024_80k_cityscapes.py │ └── emanet_r50-d8_769x769_80k_cityscapes.py ├── encnet │ ├── README.md │ ├── encnet_r101-d8_512x1024_40k_cityscapes.py │ ├── encnet_r101-d8_512x1024_80k_cityscapes.py │ ├── encnet_r101-d8_512x512_160k_ade20k.py │ ├── encnet_r101-d8_512x512_20k_voc12aug.py │ ├── encnet_r101-d8_512x512_40k_voc12aug.py │ ├── encnet_r101-d8_512x512_80k_ade20k.py │ ├── encnet_r101-d8_769x769_40k_cityscapes.py │ ├── encnet_r101-d8_769x769_80k_cityscapes.py │ ├── encnet_r50-d8_512x1024_40k_cityscapes.py │ ├── encnet_r50-d8_512x1024_80k_cityscapes.py │ ├── encnet_r50-d8_512x512_160k_ade20k.py │ ├── encnet_r50-d8_512x512_20k_voc12aug.py │ ├── encnet_r50-d8_512x512_40k_voc12aug.py │ ├── encnet_r50-d8_512x512_80k_ade20k.py │ ├── encnet_r50-d8_769x769_40k_cityscapes.py │ ├── encnet_r50-d8_769x769_80k_cityscapes.py │ └── encnet_r50s-d8_512x512_80k_ade20k.py ├── fastscnn │ ├── README.md │ └── fast_scnn_4x8_80k_lr0.12_cityscapes.py ├── fcn │ ├── README.md │ ├── fcn_r101-d8_480x480_40k_pascal_context.py │ ├── fcn_r101-d8_480x480_80k_pascal_context.py │ ├── fcn_r101-d8_512x1024_40k_cityscapes.py │ ├── fcn_r101-d8_512x1024_80k_cityscapes.py │ ├── fcn_r101-d8_512x512_160k_ade20k.py │ ├── fcn_r101-d8_512x512_20k_voc12aug.py │ ├── fcn_r101-d8_512x512_40k_voc12aug.py │ ├── fcn_r101-d8_512x512_80k_ade20k.py │ ├── fcn_r101-d8_769x769_40k_cityscapes.py │ ├── fcn_r101-d8_769x769_80k_cityscapes.py │ ├── fcn_r101b-d8_512x1024_80k_cityscapes.py │ ├── fcn_r101b-d8_769x769_80k_cityscapes.py │ ├── fcn_r18-d8_512x1024_80k_cityscapes.py │ ├── fcn_r18-d8_769x769_80k_cityscapes.py │ ├── fcn_r18b-d8_512x1024_80k_cityscapes.py │ ├── fcn_r18b-d8_769x769_80k_cityscapes.py │ ├── fcn_r50-d8_480x480_40k_pascal_context.py │ ├── fcn_r50-d8_480x480_80k_pascal_context.py │ ├── fcn_r50-d8_512x1024_40k_cityscapes.py │ ├── fcn_r50-d8_512x1024_80k_cityscapes.py │ ├── fcn_r50-d8_512x512_160k_ade20k.py │ ├── fcn_r50-d8_512x512_20k_voc12aug.py │ ├── fcn_r50-d8_512x512_40k_voc12aug.py │ ├── fcn_r50-d8_512x512_80k_ade20k.py │ ├── fcn_r50-d8_769x769_40k_cityscapes.py │ ├── fcn_r50-d8_769x769_80k_cityscapes.py │ ├── fcn_r50b-d8_512x1024_80k_cityscapes.py │ └── fcn_r50b-d8_769x769_80k_cityscapes.py ├── fp16 │ ├── README.md │ ├── deeplabv3_r101-d8_512x1024_80k_fp16_cityscapes.py │ ├── deeplabv3plus_r101-d8_512x1024_80k_fp16_cityscapes.py │ ├── fcn_r101-d8_512x1024_80k_fp16_cityscapes.py │ └── pspnet_r101-d8_512x1024_80k_fp16_cityscapes.py ├── gcnet │ ├── README.md │ ├── gcnet_r101-d8_512x1024_40k_cityscapes.py │ ├── gcnet_r101-d8_512x1024_80k_cityscapes.py │ ├── gcnet_r101-d8_512x512_160k_ade20k.py │ ├── gcnet_r101-d8_512x512_20k_voc12aug.py │ ├── gcnet_r101-d8_512x512_40k_voc12aug.py │ ├── gcnet_r101-d8_512x512_80k_ade20k.py │ ├── gcnet_r101-d8_769x769_40k_cityscapes.py │ ├── gcnet_r101-d8_769x769_80k_cityscapes.py │ ├── gcnet_r50-d8_512x1024_40k_cityscapes.py │ ├── gcnet_r50-d8_512x1024_80k_cityscapes.py │ ├── gcnet_r50-d8_512x512_160k_ade20k.py │ ├── gcnet_r50-d8_512x512_20k_voc12aug.py │ ├── gcnet_r50-d8_512x512_40k_voc12aug.py │ ├── gcnet_r50-d8_512x512_80k_ade20k.py │ ├── gcnet_r50-d8_769x769_40k_cityscapes.py │ └── gcnet_r50-d8_769x769_80k_cityscapes.py ├── hrnet │ ├── README.md │ ├── fcn_hr18_480x480_40k_pascal_context.py │ ├── fcn_hr18_480x480_80k_pascal_context.py │ ├── fcn_hr18_512x1024_160k_cityscapes.py │ ├── fcn_hr18_512x1024_40k_cityscapes.py │ ├── fcn_hr18_512x1024_80k_cityscapes.py │ ├── fcn_hr18_512x512_160k_ade20k.py │ ├── fcn_hr18_512x512_20k_voc12aug.py │ ├── fcn_hr18_512x512_40k_voc12aug.py │ ├── fcn_hr18_512x512_80k_ade20k.py │ ├── fcn_hr18s_480x480_40k_pascal_context.py │ ├── fcn_hr18s_480x480_80k_pascal_context.py │ ├── fcn_hr18s_512x1024_160k_cityscapes.py │ ├── fcn_hr18s_512x1024_40k_cityscapes.py │ ├── fcn_hr18s_512x1024_80k_cityscapes.py │ ├── fcn_hr18s_512x512_160k_ade20k.py │ ├── fcn_hr18s_512x512_20k_voc12aug.py │ ├── fcn_hr18s_512x512_40k_voc12aug.py │ ├── fcn_hr18s_512x512_80k_ade20k.py │ ├── fcn_hr48_480x480_40k_pascal_context.py │ ├── fcn_hr48_480x480_80k_pascal_context.py │ ├── fcn_hr48_512x1024_160k_cityscapes.py │ ├── fcn_hr48_512x1024_40k_cityscapes.py │ ├── fcn_hr48_512x1024_80k_cityscapes.py │ ├── fcn_hr48_512x512_160k_ade20k.py │ ├── fcn_hr48_512x512_20k_voc12aug.py │ ├── fcn_hr48_512x512_40k_voc12aug.py │ └── fcn_hr48_512x512_80k_ade20k.py ├── mobilenet_v2 │ ├── README.md │ ├── deeplabv3_m-v2-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3_m-v2-d8_512x512_160k_ade20k.py │ ├── deeplabv3plus_m-v2-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3plus_m-v2-d8_512x512_160k_ade20k.py │ ├── fcn_m-v2-d8_512x1024_80k_cityscapes.py │ ├── fcn_m-v2-d8_512x512_160k_ade20k.py │ ├── pspnet_m-v2-d8_512x1024_80k_cityscapes.py │ └── pspnet_m-v2-d8_512x512_160k_ade20k.py ├── mobilenet_v3 │ ├── README.md │ ├── lraspp_m-v3-d8_512x1024_320k_cityscapes.py │ ├── lraspp_m-v3-d8_scratch_512x1024_320k_cityscapes.py │ ├── lraspp_m-v3s-d8_512x1024_320k_cityscapes.py │ └── lraspp_m-v3s-d8_scratch_512x1024_320k_cityscapes.py ├── nonlocal_net │ ├── README.md │ ├── nonlocal_r101-d8_512x1024_40k_cityscapes.py │ ├── nonlocal_r101-d8_512x1024_80k_cityscapes.py │ ├── nonlocal_r101-d8_512x512_160k_ade20k.py │ ├── nonlocal_r101-d8_512x512_20k_voc12aug.py │ ├── nonlocal_r101-d8_512x512_40k_voc12aug.py │ ├── nonlocal_r101-d8_512x512_80k_ade20k.py │ ├── nonlocal_r101-d8_769x769_40k_cityscapes.py │ ├── nonlocal_r101-d8_769x769_80k_cityscapes.py │ ├── nonlocal_r50-d8_512x1024_40k_cityscapes.py │ ├── nonlocal_r50-d8_512x1024_80k_cityscapes.py │ ├── nonlocal_r50-d8_512x512_160k_ade20k.py │ ├── nonlocal_r50-d8_512x512_20k_voc12aug.py │ ├── nonlocal_r50-d8_512x512_40k_voc12aug.py │ ├── nonlocal_r50-d8_512x512_80k_ade20k.py │ ├── nonlocal_r50-d8_769x769_40k_cityscapes.py │ └── nonlocal_r50-d8_769x769_80k_cityscapes.py ├── ocrnet │ ├── README.md │ ├── ocrnet_hr18_512x1024_160k_cityscapes.py │ ├── ocrnet_hr18_512x1024_40k_cityscapes.py │ ├── ocrnet_hr18_512x1024_80k_cityscapes.py │ ├── ocrnet_hr18_512x512_160k_ade20k.py │ ├── ocrnet_hr18_512x512_20k_voc12aug.py │ ├── ocrnet_hr18_512x512_40k_voc12aug.py │ ├── ocrnet_hr18_512x512_80k_ade20k.py │ ├── ocrnet_hr18s_512x1024_160k_cityscapes.py │ ├── ocrnet_hr18s_512x1024_40k_cityscapes.py │ ├── ocrnet_hr18s_512x1024_80k_cityscapes.py │ ├── ocrnet_hr18s_512x512_160k_ade20k.py │ ├── ocrnet_hr18s_512x512_20k_voc12aug.py │ ├── ocrnet_hr18s_512x512_40k_voc12aug.py │ ├── ocrnet_hr18s_512x512_80k_ade20k.py │ ├── ocrnet_hr48_512x1024_160k_cityscapes.py │ ├── ocrnet_hr48_512x1024_40k_cityscapes.py │ ├── ocrnet_hr48_512x1024_80k_cityscapes.py │ ├── ocrnet_hr48_512x512_160k_ade20k.py │ ├── ocrnet_hr48_512x512_20k_voc12aug.py │ ├── ocrnet_hr48_512x512_40k_voc12aug.py │ ├── ocrnet_hr48_512x512_80k_ade20k.py │ ├── ocrnet_r101-d8_512x1024_40k_b16_cityscapes.py │ ├── ocrnet_r101-d8_512x1024_40k_b8_cityscapes.py │ └── ocrnet_r101-d8_512x1024_80k_b16_cityscapes.py ├── point_rend │ ├── README.md │ ├── pointrend_r101_512x1024_80k_cityscapes.py │ ├── pointrend_r101_512x512_160k_ade20k.py │ ├── pointrend_r50_512x1024_80k_cityscapes.py │ └── pointrend_r50_512x512_160k_ade20k.py ├── psanet │ ├── README.md │ ├── psanet_r101-d8_512x1024_40k_cityscapes.py │ ├── psanet_r101-d8_512x1024_80k_cityscapes.py │ ├── psanet_r101-d8_512x512_160k_ade20k.py │ ├── psanet_r101-d8_512x512_20k_voc12aug.py │ ├── psanet_r101-d8_512x512_40k_voc12aug.py │ ├── psanet_r101-d8_512x512_80k_ade20k.py │ ├── psanet_r101-d8_769x769_40k_cityscapes.py │ ├── psanet_r101-d8_769x769_80k_cityscapes.py │ ├── psanet_r50-d8_512x1024_40k_cityscapes.py │ ├── psanet_r50-d8_512x1024_80k_cityscapes.py │ ├── psanet_r50-d8_512x512_160k_ade20k.py │ ├── psanet_r50-d8_512x512_20k_voc12aug.py │ ├── psanet_r50-d8_512x512_40k_voc12aug.py │ ├── psanet_r50-d8_512x512_80k_ade20k.py │ ├── psanet_r50-d8_769x769_40k_cityscapes.py │ └── psanet_r50-d8_769x769_80k_cityscapes.py ├── pspnet │ ├── README.md │ ├── pspnet_r101-d8_480x480_40k_pascal_context.py │ ├── pspnet_r101-d8_480x480_80k_pascal_context.py │ ├── pspnet_r101-d8_512x1024_40k_cityscapes.py │ ├── pspnet_r101-d8_512x1024_80k_cityscapes.py │ ├── pspnet_r101-d8_512x512_160k_ade20k.py │ ├── pspnet_r101-d8_512x512_20k_voc12aug.py │ ├── pspnet_r101-d8_512x512_40k_voc12aug.py │ ├── pspnet_r101-d8_512x512_80k_ade20k.py │ ├── pspnet_r101-d8_769x769_40k_cityscapes.py │ ├── pspnet_r101-d8_769x769_80k_cityscapes.py │ ├── pspnet_r101b-d8_512x1024_80k_cityscapes.py │ ├── pspnet_r101b-d8_769x769_80k_cityscapes.py │ ├── pspnet_r18-d8_512x1024_80k_cityscapes.py │ ├── pspnet_r18-d8_769x769_80k_cityscapes.py │ ├── pspnet_r18b-d8_512x1024_80k_cityscapes.py │ ├── pspnet_r18b-d8_769x769_80k_cityscapes.py │ ├── pspnet_r50-d8_480x480_40k_pascal_context.py │ ├── pspnet_r50-d8_480x480_80k_pascal_context.py │ ├── pspnet_r50-d8_512x1024_40k_cityscapes.py │ ├── pspnet_r50-d8_512x1024_80k_cityscapes.py │ ├── pspnet_r50-d8_512x512_160k_ade20k.py │ ├── pspnet_r50-d8_512x512_20k_voc12aug.py │ ├── pspnet_r50-d8_512x512_40k_voc12aug.py │ ├── pspnet_r50-d8_512x512_80k_ade20k.py │ ├── pspnet_r50-d8_769x769_40k_cityscapes.py │ ├── pspnet_r50-d8_769x769_80k_cityscapes.py │ ├── pspnet_r50b-d8_512x1024_80k_cityscapes.py │ └── pspnet_r50b-d8_769x769_80k_cityscapes.py ├── resnest │ ├── README.md │ ├── deeplabv3_s101-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3_s101-d8_512x512_160k_ade20k.py │ ├── deeplabv3plus_s101-d8_512x1024_80k_cityscapes.py │ ├── deeplabv3plus_s101-d8_512x512_160k_ade20k.py │ ├── fcn_s101-d8_512x1024_80k_cityscapes.py │ ├── fcn_s101-d8_512x512_160k_ade20k.py │ ├── pspnet_s101-d8_512x1024_80k_cityscapes.py │ └── pspnet_s101-d8_512x512_160k_ade20k.py ├── sem_fpn │ ├── README.md │ ├── fpn_r101_512x1024_80k_cityscapes.py │ ├── fpn_r101_512x512_160k_ade20k.py │ ├── fpn_r50_512x1024_80k_cityscapes.py │ └── fpn_r50_512x512_160k_ade20k.py ├── swin │ ├── upernet_swin_base_patch4_window7_512x512_160k_ade20k.py │ ├── upernet_swin_small_patch4_window7_512x512_160k_ade20k.py │ └── upernet_swin_tiny_patch4_window7_512x512_160k_ade20k.py ├── unet │ ├── README.md │ ├── deeplabv3_unet_s5-d16_128x128_40k_chase_db1.py │ ├── deeplabv3_unet_s5-d16_128x128_40k_stare.py │ ├── deeplabv3_unet_s5-d16_256x256_40k_hrf.py │ ├── deeplabv3_unet_s5-d16_64x64_40k_drive.py │ ├── fcn_unet_s5-d16_128x128_40k_chase_db1.py │ ├── fcn_unet_s5-d16_128x128_40k_stare.py │ ├── fcn_unet_s5-d16_256x256_40k_hrf.py │ ├── fcn_unet_s5-d16_64x64_40k_drive.py │ ├── pspnet_unet_s5-d16_128x128_40k_chase_db1.py │ ├── pspnet_unet_s5-d16_128x128_40k_stare.py │ ├── pspnet_unet_s5-d16_256x256_40k_hrf.py │ └── pspnet_unet_s5-d16_64x64_40k_drive.py ├── upernet │ ├── README.md │ ├── upernet_r101_512x1024_40k_cityscapes.py │ ├── upernet_r101_512x1024_80k_cityscapes.py │ ├── upernet_r101_512x512_160k_ade20k.py │ ├── upernet_r101_512x512_20k_voc12aug.py │ ├── upernet_r101_512x512_40k_voc12aug.py │ ├── upernet_r101_512x512_80k_ade20k.py │ ├── upernet_r101_769x769_40k_cityscapes.py │ ├── upernet_r101_769x769_80k_cityscapes.py │ ├── upernet_r50_512x1024_40k_cityscapes.py │ ├── upernet_r50_512x1024_80k_cityscapes.py │ ├── upernet_r50_512x512_160k_ade20k.py │ ├── upernet_r50_512x512_20k_voc12aug.py │ ├── upernet_r50_512x512_40k_voc12aug.py │ ├── upernet_r50_512x512_80k_ade20k.py │ ├── upernet_r50_769x769_40k_cityscapes.py │ └── upernet_r50_769x769_80k_cityscapes.py └── wavevit │ ├── upernet_wavevit_b_512x512_160k_ade20k.py │ └── upernet_wavevit_s_512x512_160k_ade20k.py ├── data └── ade │ └── ADEChallengeData2016 ├── demo ├── MMSegmentation_Tutorial.ipynb ├── demo.png ├── image_demo.py └── inference_demo.ipynb ├── docker └── Dockerfile ├── docs ├── Makefile ├── api.rst ├── changelog.md ├── conf.py ├── dataset_prepare.md ├── get_started.md ├── index.rst ├── inference.md ├── make.bat ├── model_zoo.md ├── stat.py ├── train.md ├── tutorials │ ├── config.md │ ├── customize_datasets.md │ ├── customize_models.md │ ├── customize_runtime.md │ ├── data_pipeline.md │ ├── index.rst │ └── training_tricks.md └── useful_tools.md ├── mmcv_custom ├── __init__.py └── checkpoint.py ├── mmseg ├── __init__.py ├── apis │ ├── __init__.py │ ├── inference.py │ ├── test.py │ └── train.py ├── core │ ├── __init__.py │ ├── evaluation │ │ ├── __init__.py │ │ ├── class_names.py │ │ ├── eval_hooks.py │ │ └── metrics.py │ ├── seg │ │ ├── __init__.py │ │ ├── builder.py │ │ └── sampler │ │ │ ├── __init__.py │ │ │ ├── base_pixel_sampler.py │ │ │ └── ohem_pixel_sampler.py │ └── utils │ │ ├── __init__.py │ │ └── misc.py ├── datasets │ ├── __init__.py │ ├── ade.py │ ├── builder.py │ ├── chase_db1.py │ ├── cityscapes.py │ ├── custom.py │ ├── dataset_wrappers.py │ ├── drive.py │ ├── hrf.py │ ├── pascal_context.py │ ├── pipelines │ │ ├── __init__.py │ │ ├── auto_augment.py │ │ ├── compose.py │ │ ├── formating.py │ │ ├── loading.py │ │ ├── test_time_aug.py │ │ └── transforms.py │ ├── stare.py │ └── voc.py ├── models │ ├── __init__.py │ ├── backbones │ │ ├── __init__.py │ │ ├── cgnet.py │ │ ├── dualvit.py │ │ ├── fast_scnn.py │ │ ├── hrnet.py │ │ ├── mobilenet_v2.py │ │ ├── mobilenet_v3.py │ │ ├── resnest.py │ │ ├── resnet.py │ │ ├── resnext.py │ │ ├── swin_transformer.py │ │ ├── unet.py │ │ └── wavevit.py │ ├── builder.py │ ├── decode_heads │ │ ├── __init__.py │ │ ├── ann_head.py │ │ ├── apc_head.py │ │ ├── aspp_head.py │ │ ├── cascade_decode_head.py │ │ ├── cc_head.py │ │ ├── da_head.py │ │ ├── decode_head.py │ │ ├── dm_head.py │ │ ├── dnl_head.py │ │ ├── ema_head.py │ │ ├── enc_head.py │ │ ├── fcn_head.py │ │ ├── fpn_head.py │ │ ├── gc_head.py │ │ ├── lraspp_head.py │ │ ├── nl_head.py │ │ ├── ocr_head.py │ │ ├── point_head.py │ │ ├── psa_head.py │ │ ├── psp_head.py │ │ ├── sep_aspp_head.py │ │ ├── sep_fcn_head.py │ │ └── uper_head.py │ ├── losses │ │ ├── __init__.py │ │ ├── accuracy.py │ │ ├── cross_entropy_loss.py │ │ ├── lovasz_loss.py │ │ └── utils.py │ ├── necks │ │ ├── __init__.py │ │ └── fpn.py │ ├── segmentors │ │ ├── __init__.py │ │ ├── base.py │ │ ├── cascade_encoder_decoder.py │ │ └── encoder_decoder.py │ └── utils │ │ ├── __init__.py │ │ ├── inverted_residual.py │ │ ├── make_divisible.py │ │ ├── res_layer.py │ │ ├── se_layer.py │ │ ├── self_attention_block.py │ │ └── up_conv_block.py ├── ops │ ├── __init__.py │ ├── encoding.py │ └── wrappers.py ├── utils │ ├── __init__.py │ ├── collect_env.py │ └── logger.py └── version.py ├── pytest.ini ├── requirements.txt ├── requirements ├── docs.txt ├── optional.txt ├── readthedocs.txt ├── runtime.txt └── tests.txt ├── resources ├── mmseg-logo.png └── seg_demo.gif ├── setup.cfg ├── setup.py ├── tests ├── data │ ├── color.jpg │ ├── gray.jpg │ ├── pseudo_dataset │ │ ├── gts │ │ │ ├── 00000_gt.png │ │ │ ├── 00001_gt.png │ │ │ ├── 00002_gt.png │ │ │ ├── 00003_gt.png │ │ │ └── 00004_gt.png │ │ ├── imgs │ │ │ ├── 00000_img.jpg │ │ │ ├── 00001_img.jpg │ │ │ ├── 00002_img.jpg │ │ │ ├── 00003_img.jpg │ │ │ └── 00004_img.jpg │ │ └── splits │ │ │ ├── train.txt │ │ │ └── val.txt │ └── seg.png ├── test_config.py ├── test_data │ ├── test_dataset.py │ ├── test_dataset_builder.py │ ├── test_loading.py │ ├── test_transform.py │ └── test_tta.py ├── test_eval_hook.py ├── test_inference.py ├── test_metrics.py ├── test_models │ ├── test_backbone.py │ ├── test_forward.py │ ├── test_heads.py │ ├── test_losses.py │ ├── test_necks.py │ ├── test_segmentor.py │ └── test_unet.py ├── test_sampler.py └── test_utils │ ├── test_inverted_residual_module.py │ ├── test_make_divisible.py │ └── test_se_layer.py ├── tools ├── benchmark.py ├── convert_datasets │ ├── chase_db1.py │ ├── cityscapes.py │ ├── drive.py │ ├── hrf.py │ ├── pascal_context.py │ ├── stare.py │ └── voc_aug.py ├── dist_test.sh ├── dist_train.sh ├── get_flops.py ├── print_config.py ├── publish_model.py ├── pytorch2onnx.py ├── slurm_test.sh ├── slurm_train.sh ├── test.py └── train.py └── train.sh /classification/configs/dualvit/dualvit_b.py: -------------------------------------------------------------------------------- 1 | cfg = dict( 2 | model='dualvit_b', 3 | drop_path=0.15, 4 | clip_grad=None, 5 | output_dir='checkpoints/dualvit_b', 6 | ) -------------------------------------------------------------------------------- /classification/configs/dualvit/dualvit_l.py: -------------------------------------------------------------------------------- 1 | cfg = dict( 2 | model='dualvit_l', 3 | drop_path=0.3, 4 | clip_grad=1.0, 5 | output_dir='checkpoints/dualvit_l', 6 | ) -------------------------------------------------------------------------------- /classification/configs/dualvit/dualvit_s.py: -------------------------------------------------------------------------------- 1 | cfg = dict( 2 | model='dualvit_s', 3 | drop_path=0.15, 4 | clip_grad=None, 5 | output_dir='checkpoints/dualvit_s', 6 | ) -------------------------------------------------------------------------------- /classification/configs/wavevit/wavevit_b.py: -------------------------------------------------------------------------------- 1 | cfg = dict( 2 | model='wavevit_b', 3 | drop_path=0.1, 4 | clip_grad=None, 5 | output_dir='checkpoints/wavevit_b', 6 | ) -------------------------------------------------------------------------------- /classification/configs/wavevit/wavevit_l.py: -------------------------------------------------------------------------------- 1 | cfg = dict( 2 | model='wavevit_l', 3 | drop_path=0.3, 4 | clip_grad=1.0, 5 | output_dir='checkpoints/wavevit_l', 6 | ) -------------------------------------------------------------------------------- /classification/configs/wavevit/wavevit_s.py: -------------------------------------------------------------------------------- 1 | cfg = dict( 2 | model='wavevit_s', 3 | drop_path=0.1, 4 | clip_grad=None, 5 | output_dir='checkpoints/wavevit_s', 6 | ) -------------------------------------------------------------------------------- /classification/loss/__init__.py: -------------------------------------------------------------------------------- 1 | from .cross_entropy import TokenLabelGTCrossEntropy, TokenLabelSoftTargetCrossEntropy, TokenLabelCrossEntropy -------------------------------------------------------------------------------- /classification/mcloader/__init__.py: -------------------------------------------------------------------------------- 1 | from .classification import ClassificationDataset 2 | from .data_prefetcher import DataPrefetcher -------------------------------------------------------------------------------- /classification/mcloader/imagenet.py: -------------------------------------------------------------------------------- 1 | # code from PVT(https://github.com/whai362/PVT) 2 | from .image_list import ImageList 3 | 4 | 5 | class ImageNet(ImageList): 6 | 7 | def __init__(self, root, list_file, memcached, mclient_path): 8 | super(ImageNet, self).__init__( 9 | root, list_file, memcached, mclient_path) 10 | -------------------------------------------------------------------------------- /classification/util/__init__.py: -------------------------------------------------------------------------------- 1 | from .util import load_pretrained_weights -------------------------------------------------------------------------------- /images/CoTNet_framework.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/images/CoTNet_framework.jpg -------------------------------------------------------------------------------- /images/DualVit_framework.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/images/DualVit_framework.jpg -------------------------------------------------------------------------------- /images/WaveVit_framework.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/images/WaveVit_framework.jpg -------------------------------------------------------------------------------- /object_detection/Pretrained/convert.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | checkpoint = torch.load('checkpoint-309.pth.tar', map_location='cpu') 4 | model = checkpoint['state_dict'] 5 | torch.save(model, 'wavevit_b.pth') 6 | 7 | -------------------------------------------------------------------------------- /object_detection/configs/dualvit/_base_/datasets/lvis_v1_instance.py: -------------------------------------------------------------------------------- 1 | # dataset settings 2 | _base_ = 'coco_instance.py' 3 | dataset_type = 'LVISV1Dataset' 4 | data_root = 'data/lvis_v1/' 5 | data = dict( 6 | samples_per_gpu=2, 7 | workers_per_gpu=2, 8 | train=dict( 9 | _delete_=True, 10 | type='ClassBalancedDataset', 11 | oversample_thr=1e-3, 12 | dataset=dict( 13 | type=dataset_type, 14 | ann_file=data_root + 'annotations/lvis_v1_train.json', 15 | img_prefix=data_root)), 16 | val=dict( 17 | type=dataset_type, 18 | ann_file=data_root + 'annotations/lvis_v1_val.json', 19 | img_prefix=data_root), 20 | test=dict( 21 | type=dataset_type, 22 | ann_file=data_root + 'annotations/lvis_v1_val.json', 23 | img_prefix=data_root)) 24 | evaluation = dict(metric=['bbox', 'segm']) 25 | -------------------------------------------------------------------------------- /object_detection/configs/dualvit/_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 | -------------------------------------------------------------------------------- /object_detection/configs/dualvit/_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 | -------------------------------------------------------------------------------- /object_detection/configs/dualvit/_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 | -------------------------------------------------------------------------------- /object_detection/configs/dualvit/_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 | -------------------------------------------------------------------------------- /object_detection/configs/dualvit/mask_rcnn_dualvit_b_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', 5 | '_base_/default_runtime.py' 6 | ] 7 | # optimizer 8 | model = dict( 9 | pretrained='Pretrained/dualvit_b.pth', 10 | backbone=dict( 11 | type='dualvit_b', 12 | style='pytorch'), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 320, 512], 16 | out_channels=256, 17 | num_outs=5)) 18 | # optimizer 19 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0002, weight_decay=0.0001) 20 | optimizer_config = dict(grad_clip=None) 21 | 22 | fp16 = dict(loss_scale=512.) 23 | find_unused_parameters = True 24 | -------------------------------------------------------------------------------- /object_detection/configs/dualvit/mask_rcnn_dualvit_s_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', 5 | '_base_/default_runtime.py' 6 | ] 7 | # optimizer 8 | model = dict( 9 | pretrained='Pretrained/dualvit_s.pth', 10 | backbone=dict( 11 | type='dualvit_s', 12 | style='pytorch'), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 320, 448], 16 | out_channels=256, 17 | num_outs=5)) 18 | # optimizer 19 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0002, weight_decay=0.0001) 20 | optimizer_config = dict(grad_clip=None) 21 | 22 | fp16 = dict(loss_scale=512.) 23 | find_unused_parameters = True 24 | -------------------------------------------------------------------------------- /object_detection/configs/dualvit/retinanet_dualvit_b_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', 5 | '_base_/default_runtime.py' 6 | ] 7 | # optimizer 8 | model = dict( 9 | pretrained='Pretrained/dualvit_b.pth', 10 | backbone=dict( 11 | type='dualvit_b', 12 | style='pytorch'), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 320, 512], 16 | out_channels=256, 17 | start_level=1, 18 | add_extra_convs='on_input', 19 | num_outs=5)) 20 | # optimizer 21 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0001, weight_decay=0.0001) 22 | optimizer_config = dict(grad_clip=None) 23 | 24 | runner = dict(type='EpochBasedRunner', max_epochs=12) 25 | fp16 = dict(loss_scale=512.) 26 | find_unused_parameters = True 27 | -------------------------------------------------------------------------------- /object_detection/configs/dualvit/retinanet_dualvit_s_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', 5 | '_base_/default_runtime.py' 6 | ] 7 | # optimizer 8 | model = dict( 9 | pretrained='Pretrained/dualvit_s.pth', 10 | backbone=dict( 11 | type='dualvit_s', 12 | style='pytorch'), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 320, 448], 16 | out_channels=256, 17 | start_level=1, 18 | add_extra_convs='on_input', 19 | num_outs=5)) 20 | # optimizer 21 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0001, weight_decay=0.0001) 22 | optimizer_config = dict(grad_clip=None) 23 | 24 | runner = dict(type='EpochBasedRunner', max_epochs=12) 25 | fp16 = dict(loss_scale=512.) 26 | find_unused_parameters = True 27 | -------------------------------------------------------------------------------- /object_detection/configs/wavevit/_base_/datasets/lvis_v1_instance.py: -------------------------------------------------------------------------------- 1 | # dataset settings 2 | _base_ = 'coco_instance.py' 3 | dataset_type = 'LVISV1Dataset' 4 | data_root = 'data/lvis_v1/' 5 | data = dict( 6 | samples_per_gpu=2, 7 | workers_per_gpu=2, 8 | train=dict( 9 | _delete_=True, 10 | type='ClassBalancedDataset', 11 | oversample_thr=1e-3, 12 | dataset=dict( 13 | type=dataset_type, 14 | ann_file=data_root + 'annotations/lvis_v1_train.json', 15 | img_prefix=data_root)), 16 | val=dict( 17 | type=dataset_type, 18 | ann_file=data_root + 'annotations/lvis_v1_val.json', 19 | img_prefix=data_root), 20 | test=dict( 21 | type=dataset_type, 22 | ann_file=data_root + 'annotations/lvis_v1_val.json', 23 | img_prefix=data_root)) 24 | evaluation = dict(metric=['bbox', 'segm']) 25 | -------------------------------------------------------------------------------- /object_detection/configs/wavevit/_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 | -------------------------------------------------------------------------------- /object_detection/configs/wavevit/_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 | -------------------------------------------------------------------------------- /object_detection/configs/wavevit/_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 | -------------------------------------------------------------------------------- /object_detection/configs/wavevit/_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 | -------------------------------------------------------------------------------- /object_detection/configs/wavevit/mask_rcnn_wavevit_b_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', 5 | '_base_/default_runtime.py' 6 | ] 7 | # optimizer 8 | model = dict( 9 | pretrained='Pretrained/wavevit_b.pth', 10 | backbone=dict( 11 | type='wavevit_b', 12 | style='pytorch'), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 320, 512], 16 | out_channels=256, 17 | num_outs=5)) 18 | # optimizer 19 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0002, weight_decay=0.0001) 20 | optimizer_config = dict(grad_clip=None) 21 | 22 | fp16 = dict(loss_scale=512.) 23 | find_unused_parameters = True 24 | -------------------------------------------------------------------------------- /object_detection/configs/wavevit/mask_rcnn_wavevit_s_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', 5 | '_base_/default_runtime.py' 6 | ] 7 | # optimizer 8 | model = dict( 9 | pretrained='Pretrained/wavevit_s.pth', 10 | backbone=dict( 11 | type='wavevit_s', 12 | style='pytorch'), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 320, 448], 16 | out_channels=256, 17 | num_outs=5)) 18 | # optimizer 19 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0002, weight_decay=0.0001) 20 | optimizer_config = dict(grad_clip=None) 21 | 22 | fp16 = dict(loss_scale=512.) 23 | find_unused_parameters = True 24 | -------------------------------------------------------------------------------- /object_detection/configs/wavevit/retinanet_wavevit_b_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', 5 | '_base_/default_runtime.py' 6 | ] 7 | # optimizer 8 | model = dict( 9 | pretrained='Pretrained/wavevit_b.pth', 10 | backbone=dict( 11 | type='wavevit_b', 12 | style='pytorch'), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 320, 512], 16 | out_channels=256, 17 | start_level=1, 18 | add_extra_convs='on_input', 19 | num_outs=5)) 20 | # optimizer 21 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0001, weight_decay=0.0001) 22 | optimizer_config = dict(grad_clip=None) 23 | 24 | runner = dict(type='EpochBasedRunner', max_epochs=12) 25 | fp16 = dict(loss_scale=512.) 26 | find_unused_parameters = True 27 | -------------------------------------------------------------------------------- /object_detection/configs/wavevit/retinanet_wavevit_s_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', 5 | '_base_/default_runtime.py' 6 | ] 7 | # optimizer 8 | model = dict( 9 | pretrained='Pretrained/wavevit_s.pth', 10 | backbone=dict( 11 | type='wavevit_s', 12 | style='pytorch'), 13 | neck=dict( 14 | type='FPN', 15 | in_channels=[64, 128, 320, 448], 16 | out_channels=256, 17 | start_level=1, 18 | add_extra_convs='on_input', 19 | num_outs=5)) 20 | # optimizer 21 | optimizer = dict(_delete_=True, type='AdamW', lr=0.0001, weight_decay=0.0001) 22 | optimizer_config = dict(grad_clip=None) 23 | 24 | runner = dict(type='EpochBasedRunner', max_epochs=12) 25 | fp16 = dict(loss_scale=512.) 26 | find_unused_parameters = True 27 | -------------------------------------------------------------------------------- /object_detection/data/coco/annotations: -------------------------------------------------------------------------------- 1 | /export1/dataset/mscoco/annotations -------------------------------------------------------------------------------- /object_detection/data/coco/train2017: -------------------------------------------------------------------------------- 1 | /export1/dataset/mscoco/train2017 -------------------------------------------------------------------------------- /object_detection/data/coco/val2017: -------------------------------------------------------------------------------- 1 | /export1/dataset/mscoco/val2017 -------------------------------------------------------------------------------- /object_detection/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 | -------------------------------------------------------------------------------- /object_detection/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=66667 \ 9 | $(dirname "$0")/train.py $CONFIG --launcher pytorch ${@:3} 10 | -------------------------------------------------------------------------------- /object_detection/mmcv_custom/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/_base_/datasets/pascal_voc12_aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './pascal_voc12.py' 2 | # dataset settings 3 | data = dict( 4 | train=dict( 5 | ann_dir=['SegmentationClass', 'SegmentationClassAug'], 6 | split=[ 7 | 'ImageSets/Segmentation/train.txt', 8 | 'ImageSets/Segmentation/aug.txt' 9 | ])) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/_base_/default_runtime.py: -------------------------------------------------------------------------------- 1 | # yapf:disable 2 | log_config = dict( 3 | interval=50, 4 | hooks=[ 5 | dict(type='TextLoggerHook', by_epoch=False), 6 | # dict(type='TensorboardLoggerHook') 7 | ]) 8 | # yapf:enable 9 | dist_params = dict(backend='nccl') 10 | log_level = 'INFO' 11 | load_from = None 12 | resume_from = None 13 | workflow = [('train', 1)] 14 | cudnn_benchmark = True 15 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/_base_/models/lraspp_m-v3-d8.py: -------------------------------------------------------------------------------- 1 | # model settings 2 | norm_cfg = dict(type='SyncBN', eps=0.001, requires_grad=True) 3 | model = dict( 4 | type='EncoderDecoder', 5 | backbone=dict( 6 | type='MobileNetV3', 7 | arch='large', 8 | out_indices=(1, 3, 16), 9 | norm_cfg=norm_cfg), 10 | decode_head=dict( 11 | type='LRASPPHead', 12 | in_channels=(16, 24, 960), 13 | in_index=(0, 1, 2), 14 | channels=128, 15 | input_transform='multiple_select', 16 | dropout_ratio=0.1, 17 | num_classes=19, 18 | norm_cfg=norm_cfg, 19 | act_cfg=dict(type='ReLU'), 20 | align_corners=False, 21 | loss_decode=dict( 22 | type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)), 23 | # model training and testing settings 24 | train_cfg=dict(), 25 | test_cfg=dict(mode='whole')) 26 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/_base_/schedules/schedule_160k.py: -------------------------------------------------------------------------------- 1 | # optimizer 2 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005) 3 | optimizer_config = dict() 4 | # learning policy 5 | lr_config = dict(policy='poly', power=0.9, min_lr=1e-4, by_epoch=False) 6 | # runtime settings 7 | runner = dict(type='IterBasedRunner', max_iters=160000) 8 | checkpoint_config = dict(by_epoch=False, interval=16000) 9 | evaluation = dict(interval=16000, metric='mIoU') 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/_base_/schedules/schedule_20k.py: -------------------------------------------------------------------------------- 1 | # optimizer 2 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005) 3 | optimizer_config = dict() 4 | # learning policy 5 | lr_config = dict(policy='poly', power=0.9, min_lr=1e-4, by_epoch=False) 6 | # runtime settings 7 | runner = dict(type='IterBasedRunner', max_iters=20000) 8 | checkpoint_config = dict(by_epoch=False, interval=2000) 9 | evaluation = dict(interval=2000, metric='mIoU') 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/_base_/schedules/schedule_40k.py: -------------------------------------------------------------------------------- 1 | # optimizer 2 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005) 3 | optimizer_config = dict() 4 | # learning policy 5 | lr_config = dict(policy='poly', power=0.9, min_lr=1e-4, by_epoch=False) 6 | # runtime settings 7 | runner = dict(type='IterBasedRunner', max_iters=40000) 8 | checkpoint_config = dict(by_epoch=False, interval=4000) 9 | evaluation = dict(interval=4000, metric='mIoU') 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/_base_/schedules/schedule_80k.py: -------------------------------------------------------------------------------- 1 | # optimizer 2 | optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005) 3 | optimizer_config = dict() 4 | # learning policy 5 | lr_config = dict(policy='poly', power=0.9, min_lr=1e-4, by_epoch=False) 6 | # runtime settings 7 | runner = dict(type='IterBasedRunner', max_iters=80000) 8 | checkpoint_config = dict(by_epoch=False, interval=8000) 9 | evaluation = dict(interval=8000, metric='mIoU') 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ann_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ann_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './ann_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './ann_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './ann_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './ann_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ann_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ann_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ann_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ann_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ann_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ann_r50-d8.py', '../_base_/datasets/pascal_voc12_aug.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_20k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ann_r50-d8.py', '../_base_/datasets/pascal_voc12_aug.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ann_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ann_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ann/ann_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ann_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './apcnet_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './apcnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './apcnet_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './apcnet_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './apcnet_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './apcnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/apcnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/apcnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/apcnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/apcnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/apcnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/apcnet/apcnet_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/apcnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ccnet_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ccnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './ccnet_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './ccnet_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './ccnet_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './ccnet_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ccnet_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ccnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ccnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ccnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ccnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ccnet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ccnet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ccnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ccnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ccnet/ccnet_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ccnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './danet_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './danet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './danet_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './danet_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './danet_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './danet_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './danet_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './danet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/danet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/danet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/danet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/danet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/danet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/danet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/danet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/danet/danet_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/danet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d16-mg124_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet101_v1c', 4 | backbone=dict( 5 | depth=101, 6 | dilations=(1, 1, 1, 2), 7 | strides=(1, 2, 2, 1), 8 | multi_grid=(1, 2, 4)), 9 | decode_head=dict( 10 | dilations=(1, 6, 12, 18), 11 | sampler=dict(type='OHEMPixelSampler', min_kept=100000))) 12 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d16-mg124_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet101_v1c', 4 | backbone=dict( 5 | depth=101, 6 | dilations=(1, 1, 1, 2), 7 | strides=(1, 2, 2, 1), 8 | multi_grid=(1, 2, 4)), 9 | decode_head=dict( 10 | dilations=(1, 6, 12, 18), 11 | sampler=dict(type='OHEMPixelSampler', min_kept=100000))) 12 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_480x480_40k_pascal_context.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_480x480_80k_pascal_context.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet101', 4 | backbone=dict(type='ResNet', depth=101)) 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r101b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet101', 4 | backbone=dict(type='ResNet', depth=101)) 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r18-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet18_v1c', 4 | backbone=dict(depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r18-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet18_v1c', 4 | backbone=dict(depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r18b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet18', 4 | backbone=dict(type='ResNet', depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r18b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet18', 4 | backbone=dict(type='ResNet', depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', 3 | '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=60), 8 | auxiliary_head=dict(num_classes=60), 9 | test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) 10 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', 3 | '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=60), 8 | auxiliary_head=dict(num_classes=60), 9 | test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) 10 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='torchvision://resnet50', backbone=dict(type='ResNet')) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3/deeplabv3_r50b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='torchvision://resnet50', backbone=dict(type='ResNet')) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d16-mg124_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet101_v1c', 4 | backbone=dict( 5 | depth=101, 6 | dilations=(1, 1, 1, 2), 7 | strides=(1, 2, 2, 1), 8 | multi_grid=(1, 2, 4)), 9 | decode_head=dict( 10 | dilations=(1, 6, 12, 18), 11 | sampler=dict(type='OHEMPixelSampler', min_kept=100000))) 12 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d16-mg124_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet101_v1c', 4 | backbone=dict( 5 | depth=101, 6 | dilations=(1, 1, 1, 2), 7 | strides=(1, 2, 2, 1), 8 | multi_grid=(1, 2, 4)), 9 | decode_head=dict( 10 | dilations=(1, 6, 12, 18), 11 | sampler=dict(type='OHEMPixelSampler', min_kept=100000))) 12 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_480x480_40k_pascal_context.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_480x480_80k_pascal_context.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet101', 4 | backbone=dict(type='ResNet', depth=101)) 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r101b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet101', 4 | backbone=dict(type='ResNet', depth=101)) 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r18-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet18_v1c', 4 | backbone=dict(depth=18), 5 | decode_head=dict( 6 | c1_in_channels=64, 7 | c1_channels=12, 8 | in_channels=512, 9 | channels=128, 10 | ), 11 | auxiliary_head=dict(in_channels=256, channels=64)) 12 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r18-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet18_v1c', 4 | backbone=dict(depth=18), 5 | decode_head=dict( 6 | c1_in_channels=64, 7 | c1_channels=12, 8 | in_channels=512, 9 | channels=128, 10 | ), 11 | auxiliary_head=dict(in_channels=256, channels=64)) 12 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r18b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet18', 4 | backbone=dict(type='ResNet', depth=18), 5 | decode_head=dict( 6 | c1_in_channels=64, 7 | c1_channels=12, 8 | in_channels=512, 9 | channels=128, 10 | ), 11 | auxiliary_head=dict(in_channels=256, channels=64)) 12 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r18b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet18', 4 | backbone=dict(type='ResNet', depth=18), 5 | decode_head=dict( 6 | c1_in_channels=64, 7 | c1_channels=12, 8 | in_channels=512, 9 | channels=128, 10 | ), 11 | auxiliary_head=dict(in_channels=256, channels=64)) 12 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', 3 | '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=60), 8 | auxiliary_head=dict(num_classes=60), 9 | test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) 10 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', 3 | '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=60), 8 | auxiliary_head=dict(num_classes=60), 9 | test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) 10 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', 3 | '../_base_/datasets/cityscapes.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', 3 | '../_base_/datasets/cityscapes.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3plus_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='torchvision://resnet50', backbone=dict(type='ResNet')) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/deeplabv3plus/deeplabv3plus_r50b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './deeplabv3plus_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='torchvision://resnet50', backbone=dict(type='ResNet')) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './dmnet_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './dmnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './dmnet_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './dmnet_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './dmnet_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './dmnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dmnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dmnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dmnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dmnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dmnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dmnet/dmnet_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dmnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './dnl_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './dnl_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './dnl_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './dnl_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './dnl_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './dnl_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dnl_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dnl_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dnl_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dnl_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dnl_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/dnlnet/dnl_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/dnl_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | optimizer = dict( 11 | paramwise_cfg=dict( 12 | custom_keys=dict(theta=dict(wd_mult=0.), phi=dict(wd_mult=0.)))) 13 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/emanet/emanet_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './emanet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/emanet/emanet_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './emanet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/emanet/emanet_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/emanet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/emanet/emanet_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/emanet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './encnet_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './encnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './encnet_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './encnet_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './encnet_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './encnet_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './encnet_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './encnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/encnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/encnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/encnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/encnet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/encnet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/encnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/encnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/encnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/encnet/encnet_r50s-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/encnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | backbone=dict(stem_channels=128), 7 | decode_head=dict(num_classes=150), 8 | auxiliary_head=dict(num_classes=150)) 9 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fastscnn/fast_scnn_4x8_80k_lr0.12_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fast_scnn.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | 6 | # Re-config the data sampler. 7 | data = dict(samples_per_gpu=2, workers_per_gpu=4) 8 | 9 | # Re-config the optimizer. 10 | optimizer = dict(type='SGD', lr=0.12, momentum=0.9, weight_decay=4e-5) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_480x480_40k_pascal_context.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_480x480_80k_pascal_context.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet101', 4 | backbone=dict(type='ResNet', depth=101)) 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r101b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet101', 4 | backbone=dict(type='ResNet', depth=101)) 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r18-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet18_v1c', 4 | backbone=dict(depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r18-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet18_v1c', 4 | backbone=dict(depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r18b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet18', 4 | backbone=dict(type='ResNet', depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r18b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet18', 4 | backbone=dict(type='ResNet', depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_context.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=60), 7 | test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) 8 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 9 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_context.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=60), 7 | test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) 8 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 9 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_voc12_aug.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_20k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_voc12_aug.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='torchvision://resnet50', backbone=dict(type='ResNet')) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fcn/fcn_r50b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='torchvision://resnet50', backbone=dict(type='ResNet')) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fp16/deeplabv3_r101-d8_512x1024_80k_fp16_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3/deeplabv3_r101-d8_512x1024_80k_cityscapes.py' 2 | # fp16 settings 3 | optimizer_config = dict(type='Fp16OptimizerHook', loss_scale=512.) 4 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fp16/deeplabv3plus_r101-d8_512x1024_80k_fp16_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3plus/deeplabv3plus_r101-d8_512x1024_80k_cityscapes.py' 2 | # fp16 settings 3 | optimizer_config = dict(type='Fp16OptimizerHook', loss_scale=512.) 4 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fp16/fcn_r101-d8_512x1024_80k_fp16_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../fcn/fcn_r101-d8_512x1024_80k_cityscapes.py' 2 | # fp16 settings 3 | optimizer_config = dict(type='Fp16OptimizerHook', loss_scale=512.) 4 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/fp16/pspnet_r101-d8_512x1024_80k_fp16_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../pspnet/pspnet_r101-d8_512x1024_80k_cityscapes.py' 2 | # fp16 settings 3 | optimizer_config = dict(type='Fp16OptimizerHook', loss_scale=512.) 4 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './gcnet_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './gcnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './gcnet_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './gcnet_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './gcnet_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './gcnet_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './gcnet_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './gcnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/gcnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/gcnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/gcnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/gcnet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/gcnet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/gcnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/gcnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/gcnet/gcnet_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/gcnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_context.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=60), 7 | test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) 8 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 9 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_context.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=60), 7 | test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) 8 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 9 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18_512x1024_160k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_hr18.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_hr18.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_hr18.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_hr18.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict(decode_head=dict(num_classes=150)) 6 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_voc12_aug.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_20k.py' 4 | ] 5 | model = dict(decode_head=dict(num_classes=21)) 6 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_voc12_aug.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(decode_head=dict(num_classes=21)) 6 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_hr18.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict(decode_head=dict(num_classes=150)) 6 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18s_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_480x480_40k_pascal_context.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18s_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_480x480_80k_pascal_context.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18s_512x1024_160k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x1024_160k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18s_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x1024_40k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18s_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18s_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18s_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x512_20k_voc12aug.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18s_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x512_40k_voc12aug.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr18s_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x512_80k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr48_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_480x480_40k_pascal_context.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w48', 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(48, 96)), 7 | stage3=dict(num_channels=(48, 96, 192)), 8 | stage4=dict(num_channels=(48, 96, 192, 384)))), 9 | decode_head=dict( 10 | in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr48_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_480x480_80k_pascal_context.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w48', 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(48, 96)), 7 | stage3=dict(num_channels=(48, 96, 192)), 8 | stage4=dict(num_channels=(48, 96, 192, 384)))), 9 | decode_head=dict( 10 | in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr48_512x1024_160k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x1024_160k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w48', 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(48, 96)), 7 | stage3=dict(num_channels=(48, 96, 192)), 8 | stage4=dict(num_channels=(48, 96, 192, 384)))), 9 | decode_head=dict( 10 | in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr48_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x1024_40k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w48', 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(48, 96)), 7 | stage3=dict(num_channels=(48, 96, 192)), 8 | stage4=dict(num_channels=(48, 96, 192, 384)))), 9 | decode_head=dict( 10 | in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr48_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w48', 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(48, 96)), 7 | stage3=dict(num_channels=(48, 96, 192)), 8 | stage4=dict(num_channels=(48, 96, 192, 384)))), 9 | decode_head=dict( 10 | in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr48_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w48', 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(48, 96)), 7 | stage3=dict(num_channels=(48, 96, 192)), 8 | stage4=dict(num_channels=(48, 96, 192, 384)))), 9 | decode_head=dict( 10 | in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr48_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x512_20k_voc12aug.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w48', 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(48, 96)), 7 | stage3=dict(num_channels=(48, 96, 192)), 8 | stage4=dict(num_channels=(48, 96, 192, 384)))), 9 | decode_head=dict( 10 | in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr48_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x512_40k_voc12aug.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w48', 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(48, 96)), 7 | stage3=dict(num_channels=(48, 96, 192)), 8 | stage4=dict(num_channels=(48, 96, 192, 384)))), 9 | decode_head=dict( 10 | in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/hrnet/fcn_hr48_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './fcn_hr18_512x512_80k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w48', 4 | backbone=dict( 5 | extra=dict( 6 | stage2=dict(num_channels=(48, 96)), 7 | stage3=dict(num_channels=(48, 96, 192)), 8 | stage4=dict(num_channels=(48, 96, 192, 384)))), 9 | decode_head=dict( 10 | in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) 11 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v2/deeplabv3_m-v2-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3/deeplabv3_r101-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='mmcls://mobilenet_v2', 4 | backbone=dict( 5 | _delete_=True, 6 | type='MobileNetV2', 7 | widen_factor=1., 8 | strides=(1, 2, 2, 1, 1, 1, 1), 9 | dilations=(1, 1, 1, 2, 2, 4, 4), 10 | out_indices=(1, 2, 4, 6)), 11 | decode_head=dict(in_channels=320), 12 | auxiliary_head=dict(in_channels=96)) 13 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v2/deeplabv3_m-v2-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3/deeplabv3_r101-d8_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='mmcls://mobilenet_v2', 4 | backbone=dict( 5 | _delete_=True, 6 | type='MobileNetV2', 7 | widen_factor=1., 8 | strides=(1, 2, 2, 1, 1, 1, 1), 9 | dilations=(1, 1, 1, 2, 2, 4, 4), 10 | out_indices=(1, 2, 4, 6)), 11 | decode_head=dict(in_channels=320), 12 | auxiliary_head=dict(in_channels=96)) 13 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v2/deeplabv3plus_m-v2-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3plus/deeplabv3plus_r101-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='mmcls://mobilenet_v2', 4 | backbone=dict( 5 | _delete_=True, 6 | type='MobileNetV2', 7 | widen_factor=1., 8 | strides=(1, 2, 2, 1, 1, 1, 1), 9 | dilations=(1, 1, 1, 2, 2, 4, 4), 10 | out_indices=(1, 2, 4, 6)), 11 | decode_head=dict(in_channels=320, c1_in_channels=24), 12 | auxiliary_head=dict(in_channels=96)) 13 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v2/deeplabv3plus_m-v2-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3plus/deeplabv3plus_r101-d8_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='mmcls://mobilenet_v2', 4 | backbone=dict( 5 | _delete_=True, 6 | type='MobileNetV2', 7 | widen_factor=1., 8 | strides=(1, 2, 2, 1, 1, 1, 1), 9 | dilations=(1, 1, 1, 2, 2, 4, 4), 10 | out_indices=(1, 2, 4, 6)), 11 | decode_head=dict(in_channels=320, c1_in_channels=24), 12 | auxiliary_head=dict(in_channels=96)) 13 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v2/fcn_m-v2-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../fcn/fcn_r101-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='mmcls://mobilenet_v2', 4 | backbone=dict( 5 | _delete_=True, 6 | type='MobileNetV2', 7 | widen_factor=1., 8 | strides=(1, 2, 2, 1, 1, 1, 1), 9 | dilations=(1, 1, 1, 2, 2, 4, 4), 10 | out_indices=(1, 2, 4, 6)), 11 | decode_head=dict(in_channels=320), 12 | auxiliary_head=dict(in_channels=96)) 13 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v2/fcn_m-v2-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = '../fcn/fcn_r101-d8_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='mmcls://mobilenet_v2', 4 | backbone=dict( 5 | _delete_=True, 6 | type='MobileNetV2', 7 | widen_factor=1., 8 | strides=(1, 2, 2, 1, 1, 1, 1), 9 | dilations=(1, 1, 1, 2, 2, 4, 4), 10 | out_indices=(1, 2, 4, 6)), 11 | decode_head=dict(in_channels=320), 12 | auxiliary_head=dict(in_channels=96)) 13 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v2/pspnet_m-v2-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../pspnet/pspnet_r101-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='mmcls://mobilenet_v2', 4 | backbone=dict( 5 | _delete_=True, 6 | type='MobileNetV2', 7 | widen_factor=1., 8 | strides=(1, 2, 2, 1, 1, 1, 1), 9 | dilations=(1, 1, 1, 2, 2, 4, 4), 10 | out_indices=(1, 2, 4, 6)), 11 | decode_head=dict(in_channels=320), 12 | auxiliary_head=dict(in_channels=96)) 13 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v2/pspnet_m-v2-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = '../pspnet/pspnet_r101-d8_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='mmcls://mobilenet_v2', 4 | backbone=dict( 5 | _delete_=True, 6 | type='MobileNetV2', 7 | widen_factor=1., 8 | strides=(1, 2, 2, 1, 1, 1, 1), 9 | dilations=(1, 1, 1, 2, 2, 4, 4), 10 | out_indices=(1, 2, 4, 6)), 11 | decode_head=dict(in_channels=320), 12 | auxiliary_head=dict(in_channels=96)) 13 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v3/lraspp_m-v3-d8_512x1024_320k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/lraspp_m-v3-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | 6 | model = dict(pretrained='open-mmlab://contrib/mobilenet_v3_large') 7 | 8 | # Re-config the data sampler. 9 | data = dict(samples_per_gpu=4, workers_per_gpu=4) 10 | 11 | runner = dict(type='IterBasedRunner', max_iters=320000) 12 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v3/lraspp_m-v3-d8_scratch_512x1024_320k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/lraspp_m-v3-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | 6 | # Re-config the data sampler. 7 | data = dict(samples_per_gpu=4, workers_per_gpu=4) 8 | 9 | runner = dict(type='IterBasedRunner', max_iters=320000) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v3/lraspp_m-v3s-d8_512x1024_320k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './lraspp_m-v3-d8_512x1024_320k_cityscapes.py' 2 | norm_cfg = dict(type='SyncBN', eps=0.001, requires_grad=True) 3 | model = dict( 4 | type='EncoderDecoder', 5 | pretrained='open-mmlab://contrib/mobilenet_v3_small', 6 | backbone=dict( 7 | type='MobileNetV3', 8 | arch='small', 9 | out_indices=(0, 1, 12), 10 | norm_cfg=norm_cfg), 11 | decode_head=dict( 12 | type='LRASPPHead', 13 | in_channels=(16, 16, 576), 14 | in_index=(0, 1, 2), 15 | channels=128, 16 | input_transform='multiple_select', 17 | dropout_ratio=0.1, 18 | num_classes=19, 19 | norm_cfg=norm_cfg, 20 | act_cfg=dict(type='ReLU'), 21 | align_corners=False, 22 | loss_decode=dict( 23 | type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0))) 24 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/mobilenet_v3/lraspp_m-v3s-d8_scratch_512x1024_320k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './lraspp_m-v3-d8_scratch_512x1024_320k_cityscapes.py' 2 | norm_cfg = dict(type='SyncBN', eps=0.001, requires_grad=True) 3 | model = dict( 4 | type='EncoderDecoder', 5 | backbone=dict( 6 | type='MobileNetV3', 7 | arch='small', 8 | out_indices=(0, 1, 12), 9 | norm_cfg=norm_cfg), 10 | decode_head=dict( 11 | type='LRASPPHead', 12 | in_channels=(16, 16, 576), 13 | in_index=(0, 1, 2), 14 | channels=128, 15 | input_transform='multiple_select', 16 | dropout_ratio=0.1, 17 | num_classes=19, 18 | norm_cfg=norm_cfg, 19 | act_cfg=dict(type='ReLU'), 20 | align_corners=False, 21 | loss_decode=dict( 22 | type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0))) 23 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './nonlocal_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './nonlocal_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './nonlocal_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './nonlocal_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './nonlocal_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './nonlocal_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './nonlocal_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './nonlocal_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/nonlocal_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/nonlocal_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/nonlocal_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/nonlocal_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/nonlocal_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/nonlocal_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/nonlocal_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/nonlocal_net/nonlocal_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/nonlocal_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18_512x1024_160k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ocrnet_hr18.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ocrnet_hr18.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ocrnet_hr18.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18s_512x1024_160k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ocrnet_hr18_512x1024_160k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18s_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ocrnet_hr18_512x1024_40k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18s_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './ocrnet_hr18_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18s_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './ocrnet_hr18_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18s_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './ocrnet_hr18_512x512_20k_voc12aug.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18s_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './ocrnet_hr18_512x512_40k_voc12aug.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_hr18s_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './ocrnet_hr18_512x512_80k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://msra/hrnetv2_w18_small', 4 | backbone=dict( 5 | extra=dict( 6 | stage1=dict(num_blocks=(2, )), 7 | stage2=dict(num_blocks=(2, 2)), 8 | stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), 9 | stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_r101-d8_512x1024_40k_b16_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ocrnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 6 | optimizer = dict(lr=0.02) 7 | lr_config = dict(min_lr=2e-4) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_r101-d8_512x1024_40k_b8_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ocrnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 6 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/ocrnet/ocrnet_r101-d8_512x1024_80k_b16_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/ocrnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 6 | optimizer = dict(lr=0.02) 7 | lr_config = dict(min_lr=2e-4) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/point_rend/pointrend_r101_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pointrend_r50_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/point_rend/pointrend_r101_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './pointrend_r50_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/point_rend/pointrend_r50_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pointrend_r50.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | lr_config = dict(warmup='linear', warmup_iters=200) 6 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './psanet_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './psanet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './psanet_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './psanet_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './psanet_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './psanet_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './psanet_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './psanet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/psanet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/psanet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/psanet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(mask_size=(66, 66), num_classes=150), 7 | auxiliary_head=dict(num_classes=150)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/psanet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/psanet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/psanet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(mask_size=(66, 66), num_classes=150), 7 | auxiliary_head=dict(num_classes=150)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/psanet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/psanet/psanet_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/psanet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_480x480_40k_pascal_context.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_480x480_80k_pascal_context.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet101', 4 | backbone=dict(type='ResNet', depth=101)) 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r101b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet101', 4 | backbone=dict(type='ResNet', depth=101)) 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r18-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet18_v1c', 4 | backbone=dict(depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r18-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnet18_v1c', 4 | backbone=dict(depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r18b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet18', 4 | backbone=dict(type='ResNet', depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r18b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='torchvision://resnet18', 4 | backbone=dict(type='ResNet', depth=18), 5 | decode_head=dict( 6 | in_channels=512, 7 | channels=128, 8 | ), 9 | auxiliary_head=dict(in_channels=256, channels=64)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_480x480_40k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', 3 | '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) 8 | test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) 9 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_480x480_80k_pascal_context.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', 3 | '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) 8 | test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) 9 | optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_r50-d8.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50b-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='torchvision://resnet50', backbone=dict(type='ResNet')) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/pspnet/pspnet_r50b-d8_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './pspnet_r50-d8_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='torchvision://resnet50', backbone=dict(type='ResNet')) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/resnest/deeplabv3_s101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3/deeplabv3_r101-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnest101', 4 | backbone=dict( 5 | type='ResNeSt', 6 | stem_channels=128, 7 | radix=2, 8 | reduction_factor=4, 9 | avg_down_stride=True)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/resnest/deeplabv3_s101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3/deeplabv3_r101-d8_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnest101', 4 | backbone=dict( 5 | type='ResNeSt', 6 | stem_channels=128, 7 | radix=2, 8 | reduction_factor=4, 9 | avg_down_stride=True)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/resnest/deeplabv3plus_s101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3plus/deeplabv3plus_r101-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnest101', 4 | backbone=dict( 5 | type='ResNeSt', 6 | stem_channels=128, 7 | radix=2, 8 | reduction_factor=4, 9 | avg_down_stride=True)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/resnest/deeplabv3plus_s101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = '../deeplabv3plus/deeplabv3plus_r101-d8_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnest101', 4 | backbone=dict( 5 | type='ResNeSt', 6 | stem_channels=128, 7 | radix=2, 8 | reduction_factor=4, 9 | avg_down_stride=True)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/resnest/fcn_s101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../fcn/fcn_r101-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnest101', 4 | backbone=dict( 5 | type='ResNeSt', 6 | stem_channels=128, 7 | radix=2, 8 | reduction_factor=4, 9 | avg_down_stride=True)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/resnest/fcn_s101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = '../fcn/fcn_r101-d8_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnest101', 4 | backbone=dict( 5 | type='ResNeSt', 6 | stem_channels=128, 7 | radix=2, 8 | reduction_factor=4, 9 | avg_down_stride=True)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/resnest/pspnet_s101-d8_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = '../pspnet/pspnet_r101-d8_512x1024_80k_cityscapes.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnest101', 4 | backbone=dict( 5 | type='ResNeSt', 6 | stem_channels=128, 7 | radix=2, 8 | reduction_factor=4, 9 | avg_down_stride=True)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/resnest/pspnet_s101-d8_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = '../pspnet/pspnet_r101-d8_512x512_160k_ade20k.py' 2 | model = dict( 3 | pretrained='open-mmlab://resnest101', 4 | backbone=dict( 5 | type='ResNeSt', 6 | stem_channels=128, 7 | radix=2, 8 | reduction_factor=4, 9 | avg_down_stride=True)) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/sem_fpn/fpn_r101_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './fpn_r50_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/sem_fpn/fpn_r101_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './fpn_r50_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/sem_fpn/fpn_r50_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fpn_r50.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/sem_fpn/fpn_r50_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fpn_r50.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict(decode_head=dict(num_classes=150)) 6 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_chase_db1.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_unet_s5-d16.py', 3 | '../_base_/datasets/chase_db1.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) 7 | evaluation = dict(metric='mDice') 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_stare.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_unet_s5-d16.py', '../_base_/datasets/stare.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/deeplabv3_unet_s5-d16_256x256_40k_hrf.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_unet_s5-d16.py', '../_base_/datasets/hrf.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(256, 256), stride=(170, 170))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/deeplabv3_unet_s5-d16_64x64_40k_drive.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/deeplabv3_unet_s5-d16.py', '../_base_/datasets/drive.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(64, 64), stride=(42, 42))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/fcn_unet_s5-d16_128x128_40k_chase_db1.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_unet_s5-d16.py', '../_base_/datasets/chase_db1.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/fcn_unet_s5-d16_128x128_40k_stare.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_unet_s5-d16.py', '../_base_/datasets/stare.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/fcn_unet_s5-d16_256x256_40k_hrf.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_unet_s5-d16.py', '../_base_/datasets/hrf.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(256, 256), stride=(170, 170))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/fcn_unet_s5-d16_64x64_40k_drive.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/fcn_unet_s5-d16.py', '../_base_/datasets/drive.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(64, 64), stride=(42, 42))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/pspnet_unet_s5-d16_128x128_40k_chase_db1.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_unet_s5-d16.py', 3 | '../_base_/datasets/chase_db1.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) 7 | evaluation = dict(metric='mDice') 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/pspnet_unet_s5-d16_128x128_40k_stare.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_unet_s5-d16.py', '../_base_/datasets/stare.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/pspnet_unet_s5-d16_256x256_40k_hrf.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_unet_s5-d16.py', '../_base_/datasets/hrf.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(256, 256), stride=(170, 170))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/unet/pspnet_unet_s5-d16_64x64_40k_drive.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/pspnet_unet_s5-d16.py', '../_base_/datasets/drive.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | model = dict(test_cfg=dict(crop_size=(64, 64), stride=(42, 42))) 6 | evaluation = dict(metric='mDice') 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r101_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './upernet_r50_512x1024_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r101_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './upernet_r50_512x1024_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r101_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './upernet_r50_512x512_160k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r101_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './upernet_r50_512x512_20k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r101_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = './upernet_r50_512x512_40k_voc12aug.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r101_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = './upernet_r50_512x512_80k_ade20k.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r101_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './upernet_r50_769x769_40k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r101_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = './upernet_r50_769x769_80k_cityscapes.py' 2 | model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) 3 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r50_512x1024_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/upernet_r50.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r50_512x1024_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/upernet_r50.py', '../_base_/datasets/cityscapes.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r50_512x512_160k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/upernet_r50.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r50_512x512_20k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/upernet_r50.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_20k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r50_512x512_40k_voc12aug.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/upernet_r50.py', 3 | '../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(num_classes=21), auxiliary_head=dict(num_classes=21)) 8 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r50_512x512_80k_ade20k.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/upernet_r50.py', '../_base_/datasets/ade20k.py', 3 | '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' 4 | ] 5 | model = dict( 6 | decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150)) 7 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r50_769x769_40k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/upernet_r50.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_40k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/configs/upernet/upernet_r50_769x769_80k_cityscapes.py: -------------------------------------------------------------------------------- 1 | _base_ = [ 2 | '../_base_/models/upernet_r50.py', 3 | '../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py', 4 | '../_base_/schedules/schedule_80k.py' 5 | ] 6 | model = dict( 7 | decode_head=dict(align_corners=True), 8 | auxiliary_head=dict(align_corners=True), 9 | test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) 10 | -------------------------------------------------------------------------------- /semantic_segmentation/data/ade/ADEChallengeData2016: -------------------------------------------------------------------------------- 1 | /export/home/v-yehl/dataset/ADEChallengeData2016 -------------------------------------------------------------------------------- /semantic_segmentation/demo/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/demo/demo.png -------------------------------------------------------------------------------- /semantic_segmentation/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG PYTORCH="1.6.0" 2 | ARG CUDA="10.1" 3 | ARG CUDNN="7" 4 | 5 | FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel 6 | 7 | ENV TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0+PTX" 8 | ENV TORCH_NVCC_FLAGS="-Xfatbin -compress-all" 9 | ENV CMAKE_PREFIX_PATH="$(dirname $(which conda))/../" 10 | 11 | RUN apt-get update && apt-get install -y git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 \ 12 | && apt-get clean \ 13 | && rm -rf /var/lib/apt/lists/* 14 | 15 | # Install mmsegmentation 16 | RUN conda clean --all 17 | 18 | RUN pip install mmcv-full==latest+torch1.6.0+cu101 -f https://download.openmmlab.com/mmcv/dist/index.html 19 | RUN git clone https://github.com/open-mmlab/mmsegmenation.git /mmsegmentation 20 | WORKDIR /mmsegmentation 21 | RUN pip install -r requirements/build.txt 22 | RUN pip install --no-cache-dir -e . 23 | -------------------------------------------------------------------------------- /semantic_segmentation/docs/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 | -------------------------------------------------------------------------------- /semantic_segmentation/docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /semantic_segmentation/docs/tutorials/index.rst: -------------------------------------------------------------------------------- 1 | .. toctree:: 2 | :maxdepth: 2 3 | 4 | config.md 5 | customize_datasets.md 6 | data_pipeline.md 7 | customize_models.md 8 | training_tricks.md 9 | customize_runtime.md 10 | -------------------------------------------------------------------------------- /semantic_segmentation/mmcv_custom/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .checkpoint import load_checkpoint 4 | 5 | __all__ = ['load_checkpoint'] 6 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/apis/__init__.py: -------------------------------------------------------------------------------- 1 | from .inference import inference_segmentor, init_segmentor, show_result_pyplot 2 | from .test import multi_gpu_test, single_gpu_test 3 | from .train import get_root_logger, set_random_seed, train_segmentor 4 | 5 | __all__ = [ 6 | 'get_root_logger', 'set_random_seed', 'train_segmentor', 'init_segmentor', 7 | 'inference_segmentor', 'multi_gpu_test', 'single_gpu_test', 8 | 'show_result_pyplot' 9 | ] 10 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/core/__init__.py: -------------------------------------------------------------------------------- 1 | from .evaluation import * # noqa: F401, F403 2 | from .seg import * # noqa: F401, F403 3 | from .utils import * # noqa: F401, F403 4 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/core/evaluation/__init__.py: -------------------------------------------------------------------------------- 1 | from .class_names import get_classes, get_palette 2 | from .eval_hooks import DistEvalHook, EvalHook 3 | from .metrics import eval_metrics, mean_dice, mean_iou 4 | 5 | __all__ = [ 6 | 'EvalHook', 'DistEvalHook', 'mean_dice', 'mean_iou', 'eval_metrics', 7 | 'get_classes', 'get_palette' 8 | ] 9 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/core/seg/__init__.py: -------------------------------------------------------------------------------- 1 | from .builder import build_pixel_sampler 2 | from .sampler import BasePixelSampler, OHEMPixelSampler 3 | 4 | __all__ = ['build_pixel_sampler', 'BasePixelSampler', 'OHEMPixelSampler'] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/core/seg/builder.py: -------------------------------------------------------------------------------- 1 | from mmcv.utils import Registry, build_from_cfg 2 | 3 | PIXEL_SAMPLERS = Registry('pixel sampler') 4 | 5 | 6 | def build_pixel_sampler(cfg, **default_args): 7 | """Build pixel sampler for segmentation map.""" 8 | return build_from_cfg(cfg, PIXEL_SAMPLERS, default_args) 9 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/core/seg/sampler/__init__.py: -------------------------------------------------------------------------------- 1 | from .base_pixel_sampler import BasePixelSampler 2 | from .ohem_pixel_sampler import OHEMPixelSampler 3 | 4 | __all__ = ['BasePixelSampler', 'OHEMPixelSampler'] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/core/seg/sampler/base_pixel_sampler.py: -------------------------------------------------------------------------------- 1 | from abc import ABCMeta, abstractmethod 2 | 3 | 4 | class BasePixelSampler(metaclass=ABCMeta): 5 | """Base class of pixel sampler.""" 6 | 7 | def __init__(self, **kwargs): 8 | pass 9 | 10 | @abstractmethod 11 | def sample(self, seg_logit, seg_label): 12 | """Placeholder for sample function.""" 13 | pass 14 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/core/utils/__init__.py: -------------------------------------------------------------------------------- 1 | from .misc import add_prefix 2 | 3 | __all__ = ['add_prefix'] 4 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/core/utils/misc.py: -------------------------------------------------------------------------------- 1 | def add_prefix(inputs, prefix): 2 | """Add prefix for dict. 3 | 4 | Args: 5 | inputs (dict): The input dict with str keys. 6 | prefix (str): The prefix to add. 7 | 8 | Returns: 9 | 10 | dict: The dict with keys updated with ``prefix``. 11 | """ 12 | 13 | outputs = dict() 14 | for name, value in inputs.items(): 15 | outputs[f'{prefix}.{name}'] = value 16 | 17 | return outputs 18 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/datasets/__init__.py: -------------------------------------------------------------------------------- 1 | from .ade import ADE20KDataset 2 | from .builder import DATASETS, PIPELINES, build_dataloader, build_dataset 3 | from .chase_db1 import ChaseDB1Dataset 4 | from .cityscapes import CityscapesDataset 5 | from .custom import CustomDataset 6 | from .dataset_wrappers import ConcatDataset, RepeatDataset 7 | from .drive import DRIVEDataset 8 | from .hrf import HRFDataset 9 | from .pascal_context import PascalContextDataset 10 | from .stare import STAREDataset 11 | from .voc import PascalVOCDataset 12 | 13 | __all__ = [ 14 | 'CustomDataset', 'build_dataloader', 'ConcatDataset', 'RepeatDataset', 15 | 'DATASETS', 'build_dataset', 'PIPELINES', 'CityscapesDataset', 16 | 'PascalVOCDataset', 'ADE20KDataset', 'PascalContextDataset', 17 | 'ChaseDB1Dataset', 'DRIVEDataset', 'HRFDataset', 'STAREDataset' 18 | ] 19 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/datasets/chase_db1.py: -------------------------------------------------------------------------------- 1 | import os.path as osp 2 | 3 | from .builder import DATASETS 4 | from .custom import CustomDataset 5 | 6 | 7 | @DATASETS.register_module() 8 | class ChaseDB1Dataset(CustomDataset): 9 | """Chase_db1 dataset. 10 | 11 | In segmentation map annotation for Chase_db1, 0 stands for background, 12 | which is included in 2 categories. ``reduce_zero_label`` is fixed to False. 13 | The ``img_suffix`` is fixed to '.png' and ``seg_map_suffix`` is fixed to 14 | '_1stHO.png'. 15 | """ 16 | 17 | CLASSES = ('background', 'vessel') 18 | 19 | PALETTE = [[120, 120, 120], [6, 230, 230]] 20 | 21 | def __init__(self, **kwargs): 22 | super(ChaseDB1Dataset, self).__init__( 23 | img_suffix='.png', 24 | seg_map_suffix='_1stHO.png', 25 | reduce_zero_label=False, 26 | **kwargs) 27 | assert osp.exists(self.img_dir) 28 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/datasets/drive.py: -------------------------------------------------------------------------------- 1 | import os.path as osp 2 | 3 | from .builder import DATASETS 4 | from .custom import CustomDataset 5 | 6 | 7 | @DATASETS.register_module() 8 | class DRIVEDataset(CustomDataset): 9 | """DRIVE dataset. 10 | 11 | In segmentation map annotation for DRIVE, 0 stands for background, which is 12 | included in 2 categories. ``reduce_zero_label`` is fixed to False. The 13 | ``img_suffix`` is fixed to '.png' and ``seg_map_suffix`` is fixed to 14 | '_manual1.png'. 15 | """ 16 | 17 | CLASSES = ('background', 'vessel') 18 | 19 | PALETTE = [[120, 120, 120], [6, 230, 230]] 20 | 21 | def __init__(self, **kwargs): 22 | super(DRIVEDataset, self).__init__( 23 | img_suffix='.png', 24 | seg_map_suffix='_manual1.png', 25 | reduce_zero_label=False, 26 | **kwargs) 27 | assert osp.exists(self.img_dir) 28 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/datasets/hrf.py: -------------------------------------------------------------------------------- 1 | import os.path as osp 2 | 3 | from .builder import DATASETS 4 | from .custom import CustomDataset 5 | 6 | 7 | @DATASETS.register_module() 8 | class HRFDataset(CustomDataset): 9 | """HRF dataset. 10 | 11 | In segmentation map annotation for HRF, 0 stands for background, which is 12 | included in 2 categories. ``reduce_zero_label`` is fixed to False. The 13 | ``img_suffix`` is fixed to '.png' and ``seg_map_suffix`` is fixed to 14 | '.png'. 15 | """ 16 | 17 | CLASSES = ('background', 'vessel') 18 | 19 | PALETTE = [[120, 120, 120], [6, 230, 230]] 20 | 21 | def __init__(self, **kwargs): 22 | super(HRFDataset, self).__init__( 23 | img_suffix='.png', 24 | seg_map_suffix='.png', 25 | reduce_zero_label=False, 26 | **kwargs) 27 | assert osp.exists(self.img_dir) 28 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/datasets/stare.py: -------------------------------------------------------------------------------- 1 | import os.path as osp 2 | 3 | from .builder import DATASETS 4 | from .custom import CustomDataset 5 | 6 | 7 | @DATASETS.register_module() 8 | class STAREDataset(CustomDataset): 9 | """STARE dataset. 10 | 11 | In segmentation map annotation for STARE, 0 stands for background, which is 12 | included in 2 categories. ``reduce_zero_label`` is fixed to False. The 13 | ``img_suffix`` is fixed to '.png' and ``seg_map_suffix`` is fixed to 14 | '.ah.png'. 15 | """ 16 | 17 | CLASSES = ('background', 'vessel') 18 | 19 | PALETTE = [[120, 120, 120], [6, 230, 230]] 20 | 21 | def __init__(self, **kwargs): 22 | super(STAREDataset, self).__init__( 23 | img_suffix='.png', 24 | seg_map_suffix='.ah.png', 25 | reduce_zero_label=False, 26 | **kwargs) 27 | assert osp.exists(self.img_dir) 28 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/models/__init__.py: -------------------------------------------------------------------------------- 1 | from .backbones import * # noqa: F401,F403 2 | from .builder import (BACKBONES, HEADS, LOSSES, SEGMENTORS, build_backbone, 3 | build_head, build_loss, build_segmentor) 4 | from .decode_heads import * # noqa: F401,F403 5 | from .losses import * # noqa: F401,F403 6 | from .necks import * # noqa: F401,F403 7 | from .segmentors import * # noqa: F401,F403 8 | 9 | __all__ = [ 10 | 'BACKBONES', 'HEADS', 'LOSSES', 'SEGMENTORS', 'build_backbone', 11 | 'build_head', 'build_loss', 'build_segmentor' 12 | ] 13 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/models/backbones/__init__.py: -------------------------------------------------------------------------------- 1 | from .cgnet import CGNet 2 | from .fast_scnn import FastSCNN 3 | from .hrnet import HRNet 4 | from .mobilenet_v2 import MobileNetV2 5 | from .mobilenet_v3 import MobileNetV3 6 | from .resnest import ResNeSt 7 | from .resnet import ResNet, ResNetV1c, ResNetV1d 8 | from .resnext import ResNeXt 9 | from .unet import UNet 10 | from .swin_transformer import SwinTransformer 11 | from .wavevit import WaveViT 12 | from .dualvit import DualVit 13 | 14 | __all__ = [ 15 | 'ResNet', 'ResNetV1c', 'ResNetV1d', 'ResNeXt', 'HRNet', 'FastSCNN', 16 | 'ResNeSt', 'MobileNetV2', 'UNet', 'CGNet', 'MobileNetV3', 'SwinTransformer', 'WaveViT', 'DualVit' 17 | ] 18 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/models/losses/__init__.py: -------------------------------------------------------------------------------- 1 | from .accuracy import Accuracy, accuracy 2 | from .cross_entropy_loss import (CrossEntropyLoss, binary_cross_entropy, 3 | cross_entropy, mask_cross_entropy) 4 | from .lovasz_loss import LovaszLoss 5 | from .utils import reduce_loss, weight_reduce_loss, weighted_loss 6 | 7 | __all__ = [ 8 | 'accuracy', 'Accuracy', 'cross_entropy', 'binary_cross_entropy', 9 | 'mask_cross_entropy', 'CrossEntropyLoss', 'reduce_loss', 10 | 'weight_reduce_loss', 'weighted_loss', 'LovaszLoss' 11 | ] 12 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/models/necks/__init__.py: -------------------------------------------------------------------------------- 1 | from .fpn import FPN 2 | 3 | __all__ = ['FPN'] 4 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/models/segmentors/__init__.py: -------------------------------------------------------------------------------- 1 | from .cascade_encoder_decoder import CascadeEncoderDecoder 2 | from .encoder_decoder import EncoderDecoder 3 | 4 | __all__ = ['EncoderDecoder', 'CascadeEncoderDecoder'] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/models/utils/__init__.py: -------------------------------------------------------------------------------- 1 | from .inverted_residual import InvertedResidual, InvertedResidualV3 2 | from .make_divisible import make_divisible 3 | from .res_layer import ResLayer 4 | from .self_attention_block import SelfAttentionBlock 5 | from .up_conv_block import UpConvBlock 6 | 7 | __all__ = [ 8 | 'ResLayer', 'SelfAttentionBlock', 'make_divisible', 'InvertedResidual', 9 | 'UpConvBlock', 'InvertedResidualV3' 10 | ] 11 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/ops/__init__.py: -------------------------------------------------------------------------------- 1 | from .encoding import Encoding 2 | from .wrappers import Upsample, resize 3 | 4 | __all__ = ['Upsample', 'resize', 'Encoding'] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/utils/__init__.py: -------------------------------------------------------------------------------- 1 | from .collect_env import collect_env 2 | from .logger import get_root_logger 3 | 4 | __all__ = ['get_root_logger', 'collect_env'] 5 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/utils/collect_env.py: -------------------------------------------------------------------------------- 1 | from mmcv.utils import collect_env as collect_base_env 2 | from mmcv.utils import get_git_hash 3 | 4 | import mmseg 5 | 6 | 7 | def collect_env(): 8 | """Collect the information of the running environments.""" 9 | env_info = collect_base_env() 10 | env_info['MMSegmentation'] = f'{mmseg.__version__}+{get_git_hash()[:7]}' 11 | 12 | return env_info 13 | 14 | 15 | if __name__ == '__main__': 16 | for name, val in collect_env().items(): 17 | print('{}: {}'.format(name, val)) 18 | -------------------------------------------------------------------------------- /semantic_segmentation/mmseg/version.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Open-MMLab. All rights reserved. 2 | 3 | __version__ = '0.11.0' 4 | 5 | 6 | def parse_version_info(version_str): 7 | version_info = [] 8 | for x in version_str.split('.'): 9 | if x.isdigit(): 10 | version_info.append(int(x)) 11 | elif x.find('rc') != -1: 12 | patch_version = x.split('rc') 13 | version_info.append(int(patch_version[0])) 14 | version_info.append(f'rc{patch_version[1]}') 15 | return tuple(version_info) 16 | 17 | 18 | version_info = parse_version_info(__version__) 19 | -------------------------------------------------------------------------------- /semantic_segmentation/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 | -------------------------------------------------------------------------------- /semantic_segmentation/requirements.txt: -------------------------------------------------------------------------------- 1 | -r requirements/optional.txt 2 | -r requirements/runtime.txt 3 | -r requirements/tests.txt 4 | -------------------------------------------------------------------------------- /semantic_segmentation/requirements/docs.txt: -------------------------------------------------------------------------------- 1 | recommonmark 2 | sphinx 3 | sphinx_markdown_tables 4 | sphinx_rtd_theme 5 | -------------------------------------------------------------------------------- /semantic_segmentation/requirements/optional.txt: -------------------------------------------------------------------------------- 1 | cityscapesscripts 2 | -------------------------------------------------------------------------------- /semantic_segmentation/requirements/readthedocs.txt: -------------------------------------------------------------------------------- 1 | mmcv 2 | torch 3 | torchvision 4 | -------------------------------------------------------------------------------- /semantic_segmentation/requirements/runtime.txt: -------------------------------------------------------------------------------- 1 | matplotlib 2 | numpy 3 | terminaltables 4 | timm 5 | -------------------------------------------------------------------------------- /semantic_segmentation/requirements/tests.txt: -------------------------------------------------------------------------------- 1 | codecov 2 | flake8 3 | interrogate 4 | isort==4.3.21 5 | pytest 6 | xdoctest>=0.10.0 7 | yapf 8 | -------------------------------------------------------------------------------- /semantic_segmentation/resources/mmseg-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/resources/mmseg-logo.png -------------------------------------------------------------------------------- /semantic_segmentation/resources/seg_demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/resources/seg_demo.gif -------------------------------------------------------------------------------- /semantic_segmentation/setup.cfg: -------------------------------------------------------------------------------- 1 | [yapf] 2 | based_on_style = pep8 3 | blank_line_before_nested_class_or_def = true 4 | split_before_expression_after_opening_paren = true 5 | 6 | [isort] 7 | line_length = 79 8 | multi_line_output = 0 9 | known_standard_library = setuptools 10 | known_first_party = mmseg 11 | known_third_party = PIL,cityscapesscripts,cv2,detail,matplotlib,mmcv,numpy,onnxruntime,oss2,pytest,scipy,terminaltables,torch 12 | no_lines_before = STDLIB,LOCALFOLDER 13 | default_section = THIRDPARTY 14 | -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/color.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/color.jpg -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/gray.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/gray.jpg -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/gts/00000_gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/gts/00000_gt.png -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/gts/00001_gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/gts/00001_gt.png -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/gts/00002_gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/gts/00002_gt.png -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/gts/00003_gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/gts/00003_gt.png -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/gts/00004_gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/gts/00004_gt.png -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/imgs/00000_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/imgs/00000_img.jpg -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/imgs/00001_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/imgs/00001_img.jpg -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/imgs/00002_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/imgs/00002_img.jpg -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/imgs/00003_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/imgs/00003_img.jpg -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/imgs/00004_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/pseudo_dataset/imgs/00004_img.jpg -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/splits/train.txt: -------------------------------------------------------------------------------- 1 | 00000 2 | 00001 3 | 00002 4 | 00003 5 | -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/pseudo_dataset/splits/val.txt: -------------------------------------------------------------------------------- 1 | 00004 2 | -------------------------------------------------------------------------------- /semantic_segmentation/tests/data/seg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YehLi/ImageNetModel/0b4302e0b10ff12013b03b799dda50393efa69a9/semantic_segmentation/tests/data/seg.png -------------------------------------------------------------------------------- /semantic_segmentation/tests/test_models/test_necks.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | from mmseg.models import FPN 4 | 5 | 6 | def test_fpn(): 7 | in_channels = [256, 512, 1024, 2048] 8 | inputs = [ 9 | torch.randn(1, c, 56 // 2**i, 56 // 2**i) 10 | for i, c in enumerate(in_channels) 11 | ] 12 | 13 | fpn = FPN(in_channels, 256, len(in_channels)) 14 | outputs = fpn(inputs) 15 | assert outputs[0].shape == torch.Size([1, 256, 56, 56]) 16 | assert outputs[1].shape == torch.Size([1, 256, 28, 28]) 17 | assert outputs[2].shape == torch.Size([1, 256, 14, 14]) 18 | assert outputs[3].shape == torch.Size([1, 256, 7, 7]) 19 | -------------------------------------------------------------------------------- /semantic_segmentation/tests/test_utils/test_make_divisible.py: -------------------------------------------------------------------------------- 1 | from mmseg.models.utils import make_divisible 2 | 3 | 4 | def test_make_divisible(): 5 | # test with min_value = None 6 | assert make_divisible(10, 4) == 12 7 | assert make_divisible(9, 4) == 12 8 | assert make_divisible(1, 4) == 4 9 | 10 | # test with min_value = 8 11 | assert make_divisible(10, 4, 8) == 12 12 | assert make_divisible(9, 4, 8) == 12 13 | assert make_divisible(1, 4, 8) == 8 14 | -------------------------------------------------------------------------------- /semantic_segmentation/tools/dist_test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | CONFIG=$1 4 | CHECKPOINT=$2 5 | GPUS=$3 6 | PORT=${PORT:-29500} 7 | PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \ 8 | python3 -m torch.distributed.launch --nproc_per_node=$GPUS --master_port=$PORT \ 9 | $(dirname "$0")/test.py $CONFIG $CHECKPOINT --launcher pytorch ${@:4} 10 | -------------------------------------------------------------------------------- /semantic_segmentation/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 | python3 -m torch.distributed.launch --nproc_per_node=$GPUS --master_port=$PORT \ 9 | $(dirname "$0")/train.py $CONFIG --launcher pytorch ${@:3} 10 | -------------------------------------------------------------------------------- /semantic_segmentation/tools/print_config.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | 3 | from mmcv import Config, DictAction 4 | 5 | 6 | def parse_args(): 7 | parser = argparse.ArgumentParser(description='Print the whole config') 8 | parser.add_argument('config', help='config file path') 9 | parser.add_argument( 10 | '--options', nargs='+', action=DictAction, help='arguments in dict') 11 | args = parser.parse_args() 12 | 13 | return args 14 | 15 | 16 | def main(): 17 | args = parse_args() 18 | 19 | cfg = Config.fromfile(args.config) 20 | if args.options is not None: 21 | cfg.merge_from_dict(args.options) 22 | print(f'Config:\n{cfg.pretty_text}') 23 | # dump config 24 | cfg.dump('example.py') 25 | 26 | 27 | if __name__ == '__main__': 28 | main() 29 | -------------------------------------------------------------------------------- /semantic_segmentation/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:-4} 10 | GPUS_PER_NODE=${GPUS_PER_NODE:-4} 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 | -------------------------------------------------------------------------------- /semantic_segmentation/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 | GPUS=${GPUS:-4} 9 | GPUS_PER_NODE=${GPUS_PER_NODE:-4} 10 | CPUS_PER_TASK=${CPUS_PER_TASK:-5} 11 | SRUN_ARGS=${SRUN_ARGS:-""} 12 | PY_ARGS=${@:4} 13 | 14 | PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \ 15 | srun -p ${PARTITION} \ 16 | --job-name=${JOB_NAME} \ 17 | --gres=gpu:${GPUS_PER_NODE} \ 18 | --ntasks=${GPUS} \ 19 | --ntasks-per-node=${GPUS_PER_NODE} \ 20 | --cpus-per-task=${CPUS_PER_TASK} \ 21 | --kill-on-bad-exit=1 \ 22 | ${SRUN_ARGS} \ 23 | python -u tools/train.py ${CONFIG} --launcher="slurm" ${PY_ARGS} 24 | -------------------------------------------------------------------------------- /semantic_segmentation/train.sh: -------------------------------------------------------------------------------- 1 | tools/dist_train.sh configs/wavevit/upernet_wavevit_s_512x512_160k_ade20k.py 8 --options model.pretrained=Pretrained/wavevit_s.pth 2 | 3 | #tools/dist_train.sh configs/wavevit/upernet_wavevit_b_512x512_160k_ade20k.py 8 --options model.pretrained=Pretrained/wavevit_b.pth 4 | 5 | #tools/dist_train.sh configs/dualvit/upernet_dualvit_s_512x512_160k_ade20k.py 8 --options model.pretrained=Pretrained/dualvit_s.pth 6 | 7 | #tools/dist_train.sh configs/dualvit/upernet_dualvit_b_512x512_160k_ade20k.py 8 --options model.pretrained=Pretrained/dualvit_b.pth 8 | --------------------------------------------------------------------------------