97 lines
2.8 KiB
Python
97 lines
2.8 KiB
Python
# Copyright (c) OpenMMLab. All rights reserved.
|
|
# dataset settings
|
|
dataset_type = 'CityscapesDataset'
|
|
data_root = '.'
|
|
crop_size = (128, 128)
|
|
|
|
test_pipeline = [
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='Resize', scale=crop_size, keep_ratio=False),
|
|
# add loading annotation after ``Resize`` because ground truth
|
|
# does not need to do resize data transform
|
|
dict(type='LoadAnnotations', reduce_zero_label=True),
|
|
dict(type='PackSegInputs')
|
|
]
|
|
val_dataloader = dict(
|
|
batch_size=1,
|
|
num_workers=1,
|
|
persistent_workers=True,
|
|
sampler=dict(type='DefaultSampler', shuffle=False),
|
|
dataset=dict(
|
|
type=dataset_type,
|
|
data_root=data_root,
|
|
data_prefix=dict(img_path='', seg_map_path=''),
|
|
pipeline=test_pipeline))
|
|
test_dataloader = val_dataloader
|
|
|
|
val_evaluator = dict(type='IoUMetric', iou_metrics=['mIoU'])
|
|
test_evaluator = val_evaluator
|
|
|
|
# model settings
|
|
norm_cfg = dict(type='SyncBN', requires_grad=True, momentum=0.01)
|
|
data_preprocessor = dict(
|
|
type='SegDataPreProcessor',
|
|
mean=[123.675, 116.28, 103.53],
|
|
std=[58.395, 57.12, 57.375],
|
|
bgr_to_rgb=True,
|
|
pad_val=0,
|
|
seg_pad_val=255)
|
|
|
|
model = dict(
|
|
type='EncoderDecoder',
|
|
data_preprocessor=data_preprocessor,
|
|
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=1)),
|
|
|
|
# model training and testing settings
|
|
train_cfg=dict(),
|
|
test_cfg=dict(mode='whole'))
|
|
|
|
# from default_runtime
|
|
default_scope = 'mmseg'
|
|
env_cfg = dict(
|
|
cudnn_benchmark=True,
|
|
mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0),
|
|
dist_cfg=dict(backend='nccl'),
|
|
)
|
|
log_level = 'INFO'
|
|
load_from = None
|
|
resume = False
|
|
|
|
vis_backends = [dict(type='LocalVisBackend')]
|
|
visualizer = dict(
|
|
type='SegLocalVisualizer', vis_backends=vis_backends, name='visualizer')
|
|
|
|
# from schedules
|
|
val_cfg = dict(type='ValLoop')
|
|
test_cfg = dict(type='TestLoop')
|
|
default_hooks = dict(
|
|
timer=dict(type='IterTimerHook'),
|
|
logger=dict(type='LoggerHook', interval=50),
|
|
param_scheduler=dict(type='ParamSchedulerHook'),
|
|
checkpoint=dict(type='CheckpointHook', by_epoch=False, interval=2000),
|
|
sampler_seed=dict(type='DistSamplerSeedHook'),
|
|
)
|