diff --git a/configs/_base_/models/ann_r50-d8.py b/configs/_base_/models/ann_r50-d8.py index 07ed0f3..a2cb653 100644 --- a/configs/_base_/models/ann_r50-d8.py +++ b/configs/_base_/models/ann_r50-d8.py @@ -40,7 +40,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/apcnet_r50-d8.py b/configs/_base_/models/apcnet_r50-d8.py index 451cbc4..c8f5316 100644 --- a/configs/_base_/models/apcnet_r50-d8.py +++ b/configs/_base_/models/apcnet_r50-d8.py @@ -38,7 +38,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/ccnet_r50-d8.py b/configs/_base_/models/ccnet_r50-d8.py index 28f7360..794148f 100644 --- a/configs/_base_/models/ccnet_r50-d8.py +++ b/configs/_base_/models/ccnet_r50-d8.py @@ -38,7 +38,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/cgnet.py b/configs/_base_/models/cgnet.py index e598abc..eff8d94 100644 --- a/configs/_base_/models/cgnet.py +++ b/configs/_base_/models/cgnet.py @@ -29,7 +29,7 @@ model = dict( 10.289121, 9.953208, 4.3097677, 9.490387, 7.674431, 9.396905, 10.347791, 6.3927646, 10.226669, 10.241062, 10.280587, 10.396974, 10.055647 - ]))) -# model training and testing settings -train_cfg = dict(sampler=None) -test_cfg = dict(mode='whole') + ])), + # model training and testing settings + train_cfg=dict(sampler=None), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/danet_r50-d8.py b/configs/_base_/models/danet_r50-d8.py index 65eb170..2c93493 100644 --- a/configs/_base_/models/danet_r50-d8.py +++ b/configs/_base_/models/danet_r50-d8.py @@ -38,7 +38,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/deeplabv3_r50-d8.py b/configs/_base_/models/deeplabv3_r50-d8.py index a9f319c..d7a43be 100644 --- a/configs/_base_/models/deeplabv3_r50-d8.py +++ b/configs/_base_/models/deeplabv3_r50-d8.py @@ -38,7 +38,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/deeplabv3_unet_s5-d16.py b/configs/_base_/models/deeplabv3_unet_s5-d16.py index 9fce475..0cd2629 100644 --- a/configs/_base_/models/deeplabv3_unet_s5-d16.py +++ b/configs/_base_/models/deeplabv3_unet_s5-d16.py @@ -44,7 +44,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='slide', crop_size=256, stride=170) + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='slide', crop_size=256, stride=170)) diff --git a/configs/_base_/models/deeplabv3plus_r50-d8.py b/configs/_base_/models/deeplabv3plus_r50-d8.py index f74a153..050e39e 100644 --- a/configs/_base_/models/deeplabv3plus_r50-d8.py +++ b/configs/_base_/models/deeplabv3plus_r50-d8.py @@ -40,7 +40,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/dmnet_r50-d8.py b/configs/_base_/models/dmnet_r50-d8.py index 329c4fe..d22ba52 100644 --- a/configs/_base_/models/dmnet_r50-d8.py +++ b/configs/_base_/models/dmnet_r50-d8.py @@ -38,7 +38,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/dnl_r50-d8.py b/configs/_base_/models/dnl_r50-d8.py index 423dc3b..edb4c17 100644 --- a/configs/_base_/models/dnl_r50-d8.py +++ b/configs/_base_/models/dnl_r50-d8.py @@ -40,7 +40,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/emanet_r50-d8.py b/configs/_base_/models/emanet_r50-d8.py index 326a251..26adcd4 100644 --- a/configs/_base_/models/emanet_r50-d8.py +++ b/configs/_base_/models/emanet_r50-d8.py @@ -41,7 +41,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/encnet_r50-d8.py b/configs/_base_/models/encnet_r50-d8.py index c643cea..be77712 100644 --- a/configs/_base_/models/encnet_r50-d8.py +++ b/configs/_base_/models/encnet_r50-d8.py @@ -42,7 +42,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/fast_scnn.py b/configs/_base_/models/fast_scnn.py index 06cd839..32fdeb6 100644 --- a/configs/_base_/models/fast_scnn.py +++ b/configs/_base_/models/fast_scnn.py @@ -51,8 +51,7 @@ model = dict( align_corners=False, loss_decode=dict( type='CrossEntropyLoss', use_sigmoid=True, loss_weight=0.4)), - ]) - -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + ], + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/fcn_hr18.py b/configs/_base_/models/fcn_hr18.py index 8293e06..c3e299b 100644 --- a/configs/_base_/models/fcn_hr18.py +++ b/configs/_base_/models/fcn_hr18.py @@ -46,7 +46,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/fcn_r50-d8.py b/configs/_base_/models/fcn_r50-d8.py index 97a11ec..5e98f6c 100644 --- a/configs/_base_/models/fcn_r50-d8.py +++ b/configs/_base_/models/fcn_r50-d8.py @@ -39,7 +39,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/fcn_unet_s5-d16.py b/configs/_base_/models/fcn_unet_s5-d16.py index 27b5b60..a33e797 100644 --- a/configs/_base_/models/fcn_unet_s5-d16.py +++ b/configs/_base_/models/fcn_unet_s5-d16.py @@ -45,7 +45,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='slide', crop_size=256, stride=170) + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='slide', crop_size=256, stride=170)) diff --git a/configs/_base_/models/fpn_r50.py b/configs/_base_/models/fpn_r50.py index ec11717..86ab327 100644 --- a/configs/_base_/models/fpn_r50.py +++ b/configs/_base_/models/fpn_r50.py @@ -30,7 +30,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/gcnet_r50-d8.py b/configs/_base_/models/gcnet_r50-d8.py index b679be1..3d2ad69 100644 --- a/configs/_base_/models/gcnet_r50-d8.py +++ b/configs/_base_/models/gcnet_r50-d8.py @@ -40,7 +40,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/lraspp_m-v3-d8.py b/configs/_base_/models/lraspp_m-v3-d8.py index 36e4509..9325824 100644 --- a/configs/_base_/models/lraspp_m-v3-d8.py +++ b/configs/_base_/models/lraspp_m-v3-d8.py @@ -19,7 +19,7 @@ model = dict( act_cfg=dict(type='ReLU'), align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/nonlocal_r50-d8.py b/configs/_base_/models/nonlocal_r50-d8.py index 64dbeb0..5674a39 100644 --- a/configs/_base_/models/nonlocal_r50-d8.py +++ b/configs/_base_/models/nonlocal_r50-d8.py @@ -40,7 +40,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/ocrnet_hr18.py b/configs/_base_/models/ocrnet_hr18.py index fd88780..c60f62a 100644 --- a/configs/_base_/models/ocrnet_hr18.py +++ b/configs/_base_/models/ocrnet_hr18.py @@ -62,7 +62,7 @@ model = dict( align_corners=False, loss_decode=dict( type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)), - ]) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + ], + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/ocrnet_r50-d8.py b/configs/_base_/models/ocrnet_r50-d8.py index 0f5ff95..615aa3f 100644 --- a/configs/_base_/models/ocrnet_r50-d8.py +++ b/configs/_base_/models/ocrnet_r50-d8.py @@ -41,7 +41,7 @@ model = dict( align_corners=False, loss_decode=dict( type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)) - ]) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + ], + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/pointrend_r50.py b/configs/_base_/models/pointrend_r50.py index 1a56af3..9d323db 100644 --- a/configs/_base_/models/pointrend_r50.py +++ b/configs/_base_/models/pointrend_r50.py @@ -45,12 +45,12 @@ model = dict( align_corners=False, loss_decode=dict( type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)) - ]) -# model training and testing settings -train_cfg = dict( - num_points=2048, oversample_ratio=3, importance_sample_ratio=0.75) -test_cfg = dict( - mode='whole', - subdivision_steps=2, - subdivision_num_points=8196, - scale_factor=2) + ], + # model training and testing settings + train_cfg=dict( + num_points=2048, oversample_ratio=3, importance_sample_ratio=0.75), + test_cfg=dict( + mode='whole', + subdivision_steps=2, + subdivision_num_points=8196, + scale_factor=2)) diff --git a/configs/_base_/models/psanet_r50-d8.py b/configs/_base_/models/psanet_r50-d8.py index 1b45588..689513f 100644 --- a/configs/_base_/models/psanet_r50-d8.py +++ b/configs/_base_/models/psanet_r50-d8.py @@ -43,7 +43,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/pspnet_r50-d8.py b/configs/_base_/models/pspnet_r50-d8.py index cf9d8ce..f451e08 100644 --- a/configs/_base_/models/pspnet_r50-d8.py +++ b/configs/_base_/models/pspnet_r50-d8.py @@ -38,7 +38,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/_base_/models/pspnet_unet_s5-d16.py b/configs/_base_/models/pspnet_unet_s5-d16.py index 3be9868..fcff9ec 100644 --- a/configs/_base_/models/pspnet_unet_s5-d16.py +++ b/configs/_base_/models/pspnet_unet_s5-d16.py @@ -44,7 +44,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='slide', crop_size=256, stride=170) + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='slide', crop_size=256, stride=170)) diff --git a/configs/_base_/models/upernet_r50.py b/configs/_base_/models/upernet_r50.py index 19cf451..1097496 100644 --- a/configs/_base_/models/upernet_r50.py +++ b/configs/_base_/models/upernet_r50.py @@ -38,7 +38,7 @@ model = dict( norm_cfg=norm_cfg, align_corners=False, loss_decode=dict( - type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4))) -# model training and testing settings -train_cfg = dict() -test_cfg = dict(mode='whole') + type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.4)), + # model training and testing settings + train_cfg=dict(), + test_cfg=dict(mode='whole')) diff --git a/configs/ann/ann_r50-d8_769x769_40k_cityscapes.py b/configs/ann/ann_r50-d8_769x769_40k_cityscapes.py index 393a400..4912bdb 100644 --- a/configs/ann/ann_r50-d8_769x769_40k_cityscapes.py +++ b/configs/ann/ann_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/ann/ann_r50-d8_769x769_80k_cityscapes.py b/configs/ann/ann_r50-d8_769x769_80k_cityscapes.py index 7861a37..d1cc072 100644 --- a/configs/ann/ann_r50-d8_769x769_80k_cityscapes.py +++ b/configs/ann/ann_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/apcnet/apcnet_r50-d8_769x769_40k_cityscapes.py b/configs/apcnet/apcnet_r50-d8_769x769_40k_cityscapes.py index d0134e3..3db6140 100644 --- a/configs/apcnet/apcnet_r50-d8_769x769_40k_cityscapes.py +++ b/configs/apcnet/apcnet_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/apcnet/apcnet_r50-d8_769x769_80k_cityscapes.py b/configs/apcnet/apcnet_r50-d8_769x769_80k_cityscapes.py index 1d863c4..9cac425 100644 --- a/configs/apcnet/apcnet_r50-d8_769x769_80k_cityscapes.py +++ b/configs/apcnet/apcnet_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/ccnet/ccnet_r50-d8_769x769_40k_cityscapes.py b/configs/ccnet/ccnet_r50-d8_769x769_40k_cityscapes.py index d7fd8cc..580d59c 100644 --- a/configs/ccnet/ccnet_r50-d8_769x769_40k_cityscapes.py +++ b/configs/ccnet/ccnet_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/ccnet/ccnet_r50-d8_769x769_80k_cityscapes.py b/configs/ccnet/ccnet_r50-d8_769x769_80k_cityscapes.py index 6d3b349..c6dac64 100644 --- a/configs/ccnet/ccnet_r50-d8_769x769_80k_cityscapes.py +++ b/configs/ccnet/ccnet_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/danet/danet_r50-d8_769x769_40k_cityscapes.py b/configs/danet/danet_r50-d8_769x769_40k_cityscapes.py index b8fba93..5c5b94e 100644 --- a/configs/danet/danet_r50-d8_769x769_40k_cityscapes.py +++ b/configs/danet/danet_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/danet/danet_r50-d8_769x769_80k_cityscapes.py b/configs/danet/danet_r50-d8_769x769_80k_cityscapes.py index 8b8915d..c7237ae 100644 --- a/configs/danet/danet_r50-d8_769x769_80k_cityscapes.py +++ b/configs/danet/danet_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py b/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py index 0cdb262..9d493ef 100644 --- a/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py +++ b/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py @@ -4,6 +4,7 @@ _base_ = [ '../_base_/schedules/schedule_40k.py' ] model = dict( - decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) + decode_head=dict(num_classes=60), + auxiliary_head=dict(num_classes=60), + test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py b/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py index 84e831a..71a0fda 100644 --- a/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py +++ b/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py @@ -4,6 +4,7 @@ _base_ = [ '../_base_/schedules/schedule_80k.py' ] model = dict( - decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) + decode_head=dict(num_classes=60), + auxiliary_head=dict(num_classes=60), + test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/deeplabv3/deeplabv3_r50-d8_769x769_40k_cityscapes.py b/configs/deeplabv3/deeplabv3_r50-d8_769x769_40k_cityscapes.py index fb067d2..e35d198 100644 --- a/configs/deeplabv3/deeplabv3_r50-d8_769x769_40k_cityscapes.py +++ b/configs/deeplabv3/deeplabv3_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/deeplabv3/deeplabv3_r50-d8_769x769_80k_cityscapes.py b/configs/deeplabv3/deeplabv3_r50-d8_769x769_80k_cityscapes.py index 8b86921..dd7c165 100644 --- a/configs/deeplabv3/deeplabv3_r50-d8_769x769_80k_cityscapes.py +++ b/configs/deeplabv3/deeplabv3_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py index ee548fb..318845d 100644 --- a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py +++ b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py @@ -4,6 +4,7 @@ _base_ = [ '../_base_/schedules/schedule_40k.py' ] model = dict( - decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) + decode_head=dict(num_classes=60), + auxiliary_head=dict(num_classes=60), + test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py index 604cf2b..1736c23 100644 --- a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py +++ b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py @@ -4,6 +4,7 @@ _base_ = [ '../_base_/schedules/schedule_80k.py' ] model = dict( - decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) + decode_head=dict(num_classes=60), + auxiliary_head=dict(num_classes=60), + test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_40k_cityscapes.py b/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_40k_cityscapes.py index 4fcc062..e4bda3e 100644 --- a/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_40k_cityscapes.py +++ b/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_80k_cityscapes.py b/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_80k_cityscapes.py index e0bfa94..1420b97 100644 --- a/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_80k_cityscapes.py +++ b/configs/deeplabv3plus/deeplabv3plus_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/dmnet/dmnet_r50-d8_769x769_40k_cityscapes.py b/configs/dmnet/dmnet_r50-d8_769x769_40k_cityscapes.py index 49db4da..1984154 100644 --- a/configs/dmnet/dmnet_r50-d8_769x769_40k_cityscapes.py +++ b/configs/dmnet/dmnet_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/dmnet/dmnet_r50-d8_769x769_80k_cityscapes.py b/configs/dmnet/dmnet_r50-d8_769x769_80k_cityscapes.py index 1cf136e..31d95f9 100644 --- a/configs/dmnet/dmnet_r50-d8_769x769_80k_cityscapes.py +++ b/configs/dmnet/dmnet_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/dnlnet/dnl_r50-d8_769x769_40k_cityscapes.py b/configs/dnlnet/dnl_r50-d8_769x769_40k_cityscapes.py index a39ef22..0666199 100644 --- a/configs/dnlnet/dnl_r50-d8_769x769_40k_cityscapes.py +++ b/configs/dnlnet/dnl_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/dnlnet/dnl_r50-d8_769x769_80k_cityscapes.py b/configs/dnlnet/dnl_r50-d8_769x769_80k_cityscapes.py index aba8080..f7b07c4 100644 --- a/configs/dnlnet/dnl_r50-d8_769x769_80k_cityscapes.py +++ b/configs/dnlnet/dnl_r50-d8_769x769_80k_cityscapes.py @@ -5,8 +5,8 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) optimizer = dict( paramwise_cfg=dict( custom_keys=dict(theta=dict(wd_mult=0.), phi=dict(wd_mult=0.)))) diff --git a/configs/emanet/emanet_r50-d8_769x769_80k_cityscapes.py b/configs/emanet/emanet_r50-d8_769x769_80k_cityscapes.py index 0fd9bee..699aa21 100644 --- a/configs/emanet/emanet_r50-d8_769x769_80k_cityscapes.py +++ b/configs/emanet/emanet_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/encnet/encnet_r50-d8_769x769_40k_cityscapes.py b/configs/encnet/encnet_r50-d8_769x769_40k_cityscapes.py index 9f44b42..d311e33 100644 --- a/configs/encnet/encnet_r50-d8_769x769_40k_cityscapes.py +++ b/configs/encnet/encnet_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/encnet/encnet_r50-d8_769x769_80k_cityscapes.py b/configs/encnet/encnet_r50-d8_769x769_80k_cityscapes.py index aac7f2d..7b535f3 100644 --- a/configs/encnet/encnet_r50-d8_769x769_80k_cityscapes.py +++ b/configs/encnet/encnet_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py b/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py index d124fbf..fdc6314 100644 --- a/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py +++ b/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py @@ -2,6 +2,7 @@ _base_ = [ '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -model = dict(decode_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +model = dict( + decode_head=dict(num_classes=60), + test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py b/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py index d84f1c8..0870f92 100644 --- a/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py +++ b/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py @@ -2,6 +2,7 @@ _base_ = [ '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' ] -model = dict(decode_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +model = dict( + decode_head=dict(num_classes=60), + test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/fcn/fcn_r50-d8_769x769_40k_cityscapes.py b/configs/fcn/fcn_r50-d8_769x769_40k_cityscapes.py index 9a91f9c..fca98c1 100644 --- a/configs/fcn/fcn_r50-d8_769x769_40k_cityscapes.py +++ b/configs/fcn/fcn_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/fcn/fcn_r50-d8_769x769_80k_cityscapes.py b/configs/fcn/fcn_r50-d8_769x769_80k_cityscapes.py index bbde29e..7d75cd9 100644 --- a/configs/fcn/fcn_r50-d8_769x769_80k_cityscapes.py +++ b/configs/fcn/fcn_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/gcnet/gcnet_r50-d8_769x769_40k_cityscapes.py b/configs/gcnet/gcnet_r50-d8_769x769_40k_cityscapes.py index ac9826a..332495d 100644 --- a/configs/gcnet/gcnet_r50-d8_769x769_40k_cityscapes.py +++ b/configs/gcnet/gcnet_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/gcnet/gcnet_r50-d8_769x769_80k_cityscapes.py b/configs/gcnet/gcnet_r50-d8_769x769_80k_cityscapes.py index cacf24e..d6d9cb1 100644 --- a/configs/gcnet/gcnet_r50-d8_769x769_80k_cityscapes.py +++ b/configs/gcnet/gcnet_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py b/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py index 54a412e..5ff05aa 100644 --- a/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py +++ b/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py @@ -2,6 +2,7 @@ _base_ = [ '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -model = dict(decode_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +model = dict( + decode_head=dict(num_classes=60), + test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py b/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py index 2dfba87..cf315a4 100644 --- a/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py +++ b/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py @@ -2,6 +2,7 @@ _base_ = [ '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' ] -model = dict(decode_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +model = dict( + decode_head=dict(num_classes=60), + test_cfg=dict(mode='slide', crop_size=(480, 480), stride=(320, 320))) optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/nonlocal_net/nonlocal_r50-d8_769x769_40k_cityscapes.py b/configs/nonlocal_net/nonlocal_r50-d8_769x769_40k_cityscapes.py index 3f0d472..75adef3 100644 --- a/configs/nonlocal_net/nonlocal_r50-d8_769x769_40k_cityscapes.py +++ b/configs/nonlocal_net/nonlocal_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/nonlocal_net/nonlocal_r50-d8_769x769_80k_cityscapes.py b/configs/nonlocal_net/nonlocal_r50-d8_769x769_80k_cityscapes.py index 5d448c7..a0726c2 100644 --- a/configs/nonlocal_net/nonlocal_r50-d8_769x769_80k_cityscapes.py +++ b/configs/nonlocal_net/nonlocal_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/psanet/psanet_r50-d8_769x769_40k_cityscapes.py b/configs/psanet/psanet_r50-d8_769x769_40k_cityscapes.py index 2068667..690f8b5 100644 --- a/configs/psanet/psanet_r50-d8_769x769_40k_cityscapes.py +++ b/configs/psanet/psanet_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/psanet/psanet_r50-d8_769x769_80k_cityscapes.py b/configs/psanet/psanet_r50-d8_769x769_80k_cityscapes.py index 8745f5d..0966b47 100644 --- a/configs/psanet/psanet_r50-d8_769x769_80k_cityscapes.py +++ b/configs/psanet/psanet_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/pspnet/pspnet_r50-d8_769x769_40k_cityscapes.py b/configs/pspnet/pspnet_r50-d8_769x769_40k_cityscapes.py index e1026e0..145cadb 100644 --- a/configs/pspnet/pspnet_r50-d8_769x769_40k_cityscapes.py +++ b/configs/pspnet/pspnet_r50-d8_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/pspnet/pspnet_r50-d8_769x769_80k_cityscapes.py b/configs/pspnet/pspnet_r50-d8_769x769_80k_cityscapes.py index c1215c5..23a81eb 100644 --- a/configs/pspnet/pspnet_r50-d8_769x769_80k_cityscapes.py +++ b/configs/pspnet/pspnet_r50-d8_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_chase_db1.py b/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_chase_db1.py index 615d241..c706cf3 100644 --- a/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_chase_db1.py +++ b/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_chase_db1.py @@ -3,5 +3,5 @@ _base_ = [ '../_base_/datasets/chase_db1.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(128, 128), stride=(85, 85)) +model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) evaluation = dict(metric='mDice') diff --git a/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_stare.py b/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_stare.py index 286eebf..0ef02dc 100644 --- a/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_stare.py +++ b/configs/unet/deeplabv3_unet_s5-d16_128x128_40k_stare.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/deeplabv3_unet_s5-d16.py', '../_base_/datasets/stare.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(128, 128), stride=(85, 85)) +model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) evaluation = dict(metric='mDice') diff --git a/configs/unet/deeplabv3_unet_s5-d16_256x256_40k_hrf.py b/configs/unet/deeplabv3_unet_s5-d16_256x256_40k_hrf.py index 40a2053..118428b 100644 --- a/configs/unet/deeplabv3_unet_s5-d16_256x256_40k_hrf.py +++ b/configs/unet/deeplabv3_unet_s5-d16_256x256_40k_hrf.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/deeplabv3_unet_s5-d16.py', '../_base_/datasets/hrf.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(256, 256), stride=(170, 170)) +model = dict(test_cfg=dict(crop_size=(256, 256), stride=(170, 170))) evaluation = dict(metric='mDice') diff --git a/configs/unet/deeplabv3_unet_s5-d16_64x64_40k_drive.py b/configs/unet/deeplabv3_unet_s5-d16_64x64_40k_drive.py index 1ad6fd6..1f8862a 100644 --- a/configs/unet/deeplabv3_unet_s5-d16_64x64_40k_drive.py +++ b/configs/unet/deeplabv3_unet_s5-d16_64x64_40k_drive.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/deeplabv3_unet_s5-d16.py', '../_base_/datasets/drive.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(64, 64), stride=(42, 42)) +model = dict(test_cfg=dict(crop_size=(64, 64), stride=(42, 42))) evaluation = dict(metric='mDice') diff --git a/configs/unet/fcn_unet_s5-d16_128x128_40k_chase_db1.py b/configs/unet/fcn_unet_s5-d16_128x128_40k_chase_db1.py index ff5b7bb..2bc52d9 100644 --- a/configs/unet/fcn_unet_s5-d16_128x128_40k_chase_db1.py +++ b/configs/unet/fcn_unet_s5-d16_128x128_40k_chase_db1.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/fcn_unet_s5-d16.py', '../_base_/datasets/chase_db1.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(128, 128), stride=(85, 85)) +model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) evaluation = dict(metric='mDice') diff --git a/configs/unet/fcn_unet_s5-d16_128x128_40k_stare.py b/configs/unet/fcn_unet_s5-d16_128x128_40k_stare.py index 64070a3..5d836c6 100644 --- a/configs/unet/fcn_unet_s5-d16_128x128_40k_stare.py +++ b/configs/unet/fcn_unet_s5-d16_128x128_40k_stare.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/fcn_unet_s5-d16.py', '../_base_/datasets/stare.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(128, 128), stride=(85, 85)) +model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) evaluation = dict(metric='mDice') diff --git a/configs/unet/fcn_unet_s5-d16_256x256_40k_hrf.py b/configs/unet/fcn_unet_s5-d16_256x256_40k_hrf.py index 8d74c08..be8eec7 100644 --- a/configs/unet/fcn_unet_s5-d16_256x256_40k_hrf.py +++ b/configs/unet/fcn_unet_s5-d16_256x256_40k_hrf.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/fcn_unet_s5-d16.py', '../_base_/datasets/hrf.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(256, 256), stride=(170, 170)) +model = dict(test_cfg=dict(crop_size=(256, 256), stride=(170, 170))) evaluation = dict(metric='mDice') diff --git a/configs/unet/fcn_unet_s5-d16_64x64_40k_drive.py b/configs/unet/fcn_unet_s5-d16_64x64_40k_drive.py index c59a408..80483ad 100644 --- a/configs/unet/fcn_unet_s5-d16_64x64_40k_drive.py +++ b/configs/unet/fcn_unet_s5-d16_64x64_40k_drive.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/fcn_unet_s5-d16.py', '../_base_/datasets/drive.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(64, 64), stride=(42, 42)) +model = dict(test_cfg=dict(crop_size=(64, 64), stride=(42, 42))) evaluation = dict(metric='mDice') diff --git a/configs/unet/pspnet_unet_s5-d16_128x128_40k_chase_db1.py b/configs/unet/pspnet_unet_s5-d16_128x128_40k_chase_db1.py index 46500ae..b085a17 100644 --- a/configs/unet/pspnet_unet_s5-d16_128x128_40k_chase_db1.py +++ b/configs/unet/pspnet_unet_s5-d16_128x128_40k_chase_db1.py @@ -3,5 +3,5 @@ _base_ = [ '../_base_/datasets/chase_db1.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(128, 128), stride=(85, 85)) +model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) evaluation = dict(metric='mDice') diff --git a/configs/unet/pspnet_unet_s5-d16_128x128_40k_stare.py b/configs/unet/pspnet_unet_s5-d16_128x128_40k_stare.py index 4830b2f..9d729ce 100644 --- a/configs/unet/pspnet_unet_s5-d16_128x128_40k_stare.py +++ b/configs/unet/pspnet_unet_s5-d16_128x128_40k_stare.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/pspnet_unet_s5-d16.py', '../_base_/datasets/stare.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(128, 128), stride=(85, 85)) +model = dict(test_cfg=dict(crop_size=(128, 128), stride=(85, 85))) evaluation = dict(metric='mDice') diff --git a/configs/unet/pspnet_unet_s5-d16_256x256_40k_hrf.py b/configs/unet/pspnet_unet_s5-d16_256x256_40k_hrf.py index dcfb7ec..f57c916 100644 --- a/configs/unet/pspnet_unet_s5-d16_256x256_40k_hrf.py +++ b/configs/unet/pspnet_unet_s5-d16_256x256_40k_hrf.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/pspnet_unet_s5-d16.py', '../_base_/datasets/hrf.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(256, 256), stride=(170, 170)) +model = dict(test_cfg=dict(crop_size=(256, 256), stride=(170, 170))) evaluation = dict(metric='mDice') diff --git a/configs/unet/pspnet_unet_s5-d16_64x64_40k_drive.py b/configs/unet/pspnet_unet_s5-d16_64x64_40k_drive.py index bf0b0b0..7b5421a 100644 --- a/configs/unet/pspnet_unet_s5-d16_64x64_40k_drive.py +++ b/configs/unet/pspnet_unet_s5-d16_64x64_40k_drive.py @@ -2,5 +2,5 @@ _base_ = [ '../_base_/models/pspnet_unet_s5-d16.py', '../_base_/datasets/drive.py', '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] -test_cfg = dict(crop_size=(64, 64), stride=(42, 42)) +model = dict(test_cfg=dict(crop_size=(64, 64), stride=(42, 42))) evaluation = dict(metric='mDice') diff --git a/configs/upernet/upernet_r50_769x769_40k_cityscapes.py b/configs/upernet/upernet_r50_769x769_40k_cityscapes.py index 590ab61..89b18aa 100644 --- a/configs/upernet/upernet_r50_769x769_40k_cityscapes.py +++ b/configs/upernet/upernet_r50_769x769_40k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/configs/upernet/upernet_r50_769x769_80k_cityscapes.py b/configs/upernet/upernet_r50_769x769_80k_cityscapes.py index b3a6107..29af98f 100644 --- a/configs/upernet/upernet_r50_769x769_80k_cityscapes.py +++ b/configs/upernet/upernet_r50_769x769_80k_cityscapes.py @@ -5,5 +5,5 @@ _base_ = [ ] model = dict( decode_head=dict(align_corners=True), - auxiliary_head=dict(align_corners=True)) -test_cfg = dict(mode='slide', crop_size=(769, 769), stride=(513, 513)) + auxiliary_head=dict(align_corners=True), + test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513))) diff --git a/mmseg/apis/inference.py b/mmseg/apis/inference.py index 7cebac9..20c20dc 100644 --- a/mmseg/apis/inference.py +++ b/mmseg/apis/inference.py @@ -27,7 +27,8 @@ def init_segmentor(config, checkpoint=None, device='cuda:0'): raise TypeError('config must be a filename or Config object, ' 'but got {}'.format(type(config))) config.model.pretrained = None - model = build_segmentor(config.model, test_cfg=config.test_cfg) + config.model.train_cfg = None + model = build_segmentor(config.model, test_cfg=config.get('test_cfg')) if checkpoint is not None: checkpoint = load_checkpoint(model, checkpoint, map_location='cpu') model.CLASSES = checkpoint['meta']['CLASSES'] diff --git a/mmseg/models/builder.py b/mmseg/models/builder.py index f4b84dd..c487dcd 100644 --- a/mmseg/models/builder.py +++ b/mmseg/models/builder.py @@ -1,3 +1,5 @@ +import warnings + from mmcv.utils import Registry, build_from_cfg from torch import nn @@ -53,4 +55,12 @@ def build_loss(cfg): def build_segmentor(cfg, train_cfg=None, test_cfg=None): """Build segmentor.""" + if train_cfg is not None or test_cfg is not None: + warnings.warn( + 'train_cfg and test_cfg is deprecated, ' + 'please specify them in model', UserWarning) + assert cfg.get('train_cfg') is None or train_cfg is None, \ + 'train_cfg specified in both outer field and model field ' + assert cfg.get('test_cfg') is None or test_cfg is None, \ + 'test_cfg specified in both outer field and model field ' return build(cfg, SEGMENTORS, dict(train_cfg=train_cfg, test_cfg=test_cfg)) diff --git a/tests/test_config.py b/tests/test_config.py index 77a0035..b991fbf 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -45,8 +45,6 @@ def test_config_build_segmentor(): config_mod = Config.fromfile(config_fpath) config_mod.model - config_mod.train_cfg - config_mod.test_cfg print('Building segmentor, config_fpath = {!r}'.format(config_fpath)) # Remove pretrained keys to allow for testing in an offline environment @@ -54,10 +52,7 @@ def test_config_build_segmentor(): config_mod.model['pretrained'] = None print('building {}'.format(config_fname)) - segmentor = build_segmentor( - config_mod.model, - train_cfg=config_mod.train_cfg, - test_cfg=config_mod.test_cfg) + segmentor = build_segmentor(config_mod.model) assert segmentor is not None head_config = config_mod.model['decode_head'] diff --git a/tests/test_models/test_forward.py b/tests/test_models/test_forward.py index be797a7..ee80362 100644 --- a/tests/test_models/test_forward.py +++ b/tests/test_models/test_forward.py @@ -76,12 +76,9 @@ def _get_segmentor_cfg(fname): These are deep copied to allow for safe modification of parameters without influencing other tests. """ - import mmcv config = _get_config_module(fname) model = copy.deepcopy(config.model) - train_cfg = mmcv.Config(copy.deepcopy(config.train_cfg)) - test_cfg = mmcv.Config(copy.deepcopy(config.test_cfg)) - return model, train_cfg, test_cfg + return model def test_pspnet_forward(): @@ -212,12 +209,12 @@ def _convert_batchnorm(module): _check_input_dim) @patch('torch.distributed.get_world_size', get_world_size) def _test_encoder_decoder_forward(cfg_file): - model, train_cfg, test_cfg = _get_segmentor_cfg(cfg_file) + model = _get_segmentor_cfg(cfg_file) model['pretrained'] = None - test_cfg['mode'] = 'whole' + model['test_cfg']['mode'] = 'whole' from mmseg.models import build_segmentor - segmentor = build_segmentor(model, train_cfg=train_cfg, test_cfg=test_cfg) + segmentor = build_segmentor(model) if isinstance(segmentor.decode_head, nn.ModuleList): num_classes = segmentor.decode_head[-1].num_classes diff --git a/tests/test_models/test_segmentor.py b/tests/test_models/test_segmentor.py index 67f7884..90d3bf6 100644 --- a/tests/test_models/test_segmentor.py +++ b/tests/test_models/test_segmentor.py @@ -1,6 +1,6 @@ -import mmcv import numpy as np import torch +from mmcv import ConfigDict from torch import nn from mmseg.models import BACKBONES, HEADS, build_segmentor @@ -123,31 +123,33 @@ def _segmentor_forward_train_test(segmentor): def test_encoder_decoder(): # test 1 decode head, w.o. aux head - cfg = dict( + + cfg = ConfigDict( type='EncoderDecoder', backbone=dict(type='ExampleBackbone'), - decode_head=dict(type='ExampleDecodeHead')) - test_cfg = mmcv.Config(dict(mode='whole')) - segmentor = build_segmentor(cfg, train_cfg=None, test_cfg=test_cfg) + decode_head=dict(type='ExampleDecodeHead'), + train_cfg=None, + test_cfg=dict(mode='whole')) + segmentor = build_segmentor(cfg) _segmentor_forward_train_test(segmentor) # test slide mode - test_cfg = mmcv.Config(dict(mode='slide', crop_size=(3, 3), stride=(2, 2))) - segmentor = build_segmentor(cfg, train_cfg=None, test_cfg=test_cfg) + cfg.test_cfg = ConfigDict(mode='slide', crop_size=(3, 3), stride=(2, 2)) + segmentor = build_segmentor(cfg) _segmentor_forward_train_test(segmentor) # test 1 decode head, 1 aux head - cfg = dict( + cfg = ConfigDict( type='EncoderDecoder', backbone=dict(type='ExampleBackbone'), decode_head=dict(type='ExampleDecodeHead'), auxiliary_head=dict(type='ExampleDecodeHead')) - test_cfg = mmcv.Config(dict(mode='whole')) - segmentor = build_segmentor(cfg, train_cfg=None, test_cfg=test_cfg) + cfg.test_cfg = ConfigDict(mode='whole') + segmentor = build_segmentor(cfg) _segmentor_forward_train_test(segmentor) # test 1 decode head, 2 aux head - cfg = dict( + cfg = ConfigDict( type='EncoderDecoder', backbone=dict(type='ExampleBackbone'), decode_head=dict(type='ExampleDecodeHead'), @@ -155,15 +157,15 @@ def test_encoder_decoder(): dict(type='ExampleDecodeHead'), dict(type='ExampleDecodeHead') ]) - test_cfg = mmcv.Config(dict(mode='whole')) - segmentor = build_segmentor(cfg, train_cfg=None, test_cfg=test_cfg) + cfg.test_cfg = ConfigDict(mode='whole') + segmentor = build_segmentor(cfg) _segmentor_forward_train_test(segmentor) def test_cascade_encoder_decoder(): # test 1 decode head, w.o. aux head - cfg = dict( + cfg = ConfigDict( type='CascadeEncoderDecoder', num_stages=2, backbone=dict(type='ExampleBackbone'), @@ -171,17 +173,17 @@ def test_cascade_encoder_decoder(): dict(type='ExampleDecodeHead'), dict(type='ExampleCascadeDecodeHead') ]) - test_cfg = mmcv.Config(dict(mode='whole')) - segmentor = build_segmentor(cfg, train_cfg=None, test_cfg=test_cfg) + cfg.test_cfg = ConfigDict(mode='whole') + segmentor = build_segmentor(cfg) _segmentor_forward_train_test(segmentor) # test slide mode - test_cfg = mmcv.Config(dict(mode='slide', crop_size=(3, 3), stride=(2, 2))) - segmentor = build_segmentor(cfg, train_cfg=None, test_cfg=test_cfg) + cfg.test_cfg = ConfigDict(mode='slide', crop_size=(3, 3), stride=(2, 2)) + segmentor = build_segmentor(cfg) _segmentor_forward_train_test(segmentor) # test 1 decode head, 1 aux head - cfg = dict( + cfg = ConfigDict( type='CascadeEncoderDecoder', num_stages=2, backbone=dict(type='ExampleBackbone'), @@ -190,12 +192,12 @@ def test_cascade_encoder_decoder(): dict(type='ExampleCascadeDecodeHead') ], auxiliary_head=dict(type='ExampleDecodeHead')) - test_cfg = mmcv.Config(dict(mode='whole')) - segmentor = build_segmentor(cfg, train_cfg=None, test_cfg=test_cfg) + cfg.test_cfg = ConfigDict(mode='whole') + segmentor = build_segmentor(cfg) _segmentor_forward_train_test(segmentor) # test 1 decode head, 2 aux head - cfg = dict( + cfg = ConfigDict( type='CascadeEncoderDecoder', num_stages=2, backbone=dict(type='ExampleBackbone'), @@ -207,6 +209,6 @@ def test_cascade_encoder_decoder(): dict(type='ExampleDecodeHead'), dict(type='ExampleDecodeHead') ]) - test_cfg = mmcv.Config(dict(mode='whole')) - segmentor = build_segmentor(cfg, train_cfg=None, test_cfg=test_cfg) + cfg.test_cfg = ConfigDict(mode='whole') + segmentor = build_segmentor(cfg) _segmentor_forward_train_test(segmentor) diff --git a/tools/benchmark.py b/tools/benchmark.py index bcb0d95..cb0df3b 100644 --- a/tools/benchmark.py +++ b/tools/benchmark.py @@ -40,7 +40,8 @@ def main(): shuffle=False) # build the model and load checkpoint - model = build_segmentor(cfg.model, train_cfg=None, test_cfg=cfg.test_cfg) + cfg.model.train_cfg = None + model = build_segmentor(cfg.model, test_cfg=cfg.get('test_cfg')) load_checkpoint(model, args.checkpoint, map_location='cpu') model = MMDataParallel(model, device_ids=[0]) diff --git a/tools/get_flops.py b/tools/get_flops.py index aef3055..bc98c52 100644 --- a/tools/get_flops.py +++ b/tools/get_flops.py @@ -33,7 +33,9 @@ def main(): cfg = Config.fromfile(args.config) cfg.model.pretrained = None model = build_segmentor( - cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg).cuda() + cfg.model, + train_cfg=cfg.get('train_cfg'), + test_cfg=cfg.get('test_cfg')).cuda() model.eval() if hasattr(model, 'forward_dummy'): diff --git a/tools/pytorch2onnx.py b/tools/pytorch2onnx.py index f22d4d3..2ec9feb 100644 --- a/tools/pytorch2onnx.py +++ b/tools/pytorch2onnx.py @@ -181,8 +181,9 @@ if __name__ == '__main__': cfg.model.pretrained = None # build the model and load checkpoint + cfg.model.train_cfg = None segmentor = build_segmentor( - cfg.model, train_cfg=None, test_cfg=cfg.test_cfg) + cfg.model, train_cfg=None, test_cfg=cfg.get('test_cfg')) # convert SyncBN to BN segmentor = _convert_batchnorm(segmentor) diff --git a/tools/test.py b/tools/test.py index e47fcca..a106f04 100644 --- a/tools/test.py +++ b/tools/test.py @@ -110,7 +110,8 @@ def main(): shuffle=False) # build the model and load checkpoint - model = build_segmentor(cfg.model, train_cfg=None, test_cfg=cfg.test_cfg) + cfg.model.train_cfg = None + model = build_segmentor(cfg.model, test_cfg=cfg.get('test_cfg')) checkpoint = load_checkpoint(model, args.checkpoint, map_location='cpu') model.CLASSES = checkpoint['meta']['CLASSES'] model.PALETTE = checkpoint['meta']['PALETTE'] diff --git a/tools/train.py b/tools/train.py index 8e3835a..51fe406 100644 --- a/tools/train.py +++ b/tools/train.py @@ -128,7 +128,9 @@ def main(): meta['exp_name'] = osp.basename(args.config) model = build_segmentor( - cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg) + cfg.model, + train_cfg=cfg.get('train_cfg'), + test_cfg=cfg.get('test_cfg')) logger.info(model)