| | |
| | norm_cfg = dict(type='SyncBN', requires_grad=True, momentum=0.01) |
| | model = dict( |
| | type='EncoderDecoder', |
| | backbone=dict( |
| | type='FastSCNN', |
| | downsample_dw_channels=(32, 48), |
| | global_in_channels=64, |
| | global_block_channels=(64, 96, 128), |
| | global_block_strides=(2, 2, 1), |
| | global_out_channels=128, |
| | higher_in_channels=64, |
| | lower_in_channels=128, |
| | fusion_out_channels=128, |
| | out_indices=(0, 1, 2), |
| | norm_cfg=norm_cfg, |
| | align_corners=False), |
| | decode_head=dict( |
| | type='DepthwiseSeparableFCNHead', |
| | in_channels=128, |
| | channels=128, |
| | concat_input=False, |
| | num_classes=19, |
| | in_index=-1, |
| | norm_cfg=norm_cfg, |
| | align_corners=False, |
| | loss_decode=dict( |
| | type='CrossEntropyLoss', use_sigmoid=True, loss_weight=0.4)), |
| | auxiliary_head=[ |
| | dict( |
| | type='FCNHead', |
| | in_channels=128, |
| | channels=32, |
| | num_convs=1, |
| | num_classes=19, |
| | in_index=-2, |
| | norm_cfg=norm_cfg, |
| | concat_input=False, |
| | align_corners=False, |
| | loss_decode=dict( |
| | type='CrossEntropyLoss', use_sigmoid=True, loss_weight=0.4)), |
| | dict( |
| | type='FCNHead', |
| | in_channels=64, |
| | channels=32, |
| | num_convs=1, |
| | num_classes=19, |
| | in_index=-3, |
| | norm_cfg=norm_cfg, |
| | concat_input=False, |
| | align_corners=False, |
| | loss_decode=dict( |
| | type='CrossEntropyLoss', use_sigmoid=True, loss_weight=0.4)), |
| | ], |
| | |
| | train_cfg=dict(), |
| | test_cfg=dict(mode='whole')) |
| |
|