59 lines
1.9 KiB
Python
59 lines
1.9 KiB
Python
_base_ = [
|
|
'../_base_/models/bisenetv1_r18-d32.py',
|
|
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
|
'../_base_/schedules/schedule_160k.py'
|
|
]
|
|
crop_size = (512, 512)
|
|
data_preprocessor = dict(size=crop_size)
|
|
norm_cfg = dict(type='SyncBN', requires_grad=True)
|
|
model = dict(
|
|
data_preprocessor=data_preprocessor,
|
|
backbone=dict(
|
|
context_channels=(512, 1024, 2048),
|
|
spatial_channels=(256, 256, 256, 512),
|
|
out_channels=1024,
|
|
backbone_cfg=dict(type='ResNet', depth=101)),
|
|
decode_head=dict(in_channels=1024, channels=1024, num_classes=171),
|
|
auxiliary_head=[
|
|
dict(
|
|
type='FCNHead',
|
|
in_channels=512,
|
|
channels=256,
|
|
num_convs=1,
|
|
num_classes=171,
|
|
in_index=1,
|
|
norm_cfg=norm_cfg,
|
|
concat_input=False,
|
|
align_corners=False,
|
|
loss_decode=dict(
|
|
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
|
dict(
|
|
type='FCNHead',
|
|
in_channels=512,
|
|
channels=256,
|
|
num_convs=1,
|
|
num_classes=171,
|
|
in_index=2,
|
|
norm_cfg=norm_cfg,
|
|
concat_input=False,
|
|
align_corners=False,
|
|
loss_decode=dict(
|
|
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
|
])
|
|
param_scheduler = [
|
|
dict(type='LinearLR', by_epoch=False, start_factor=0.1, begin=0, end=1000),
|
|
dict(
|
|
type='PolyLR',
|
|
eta_min=1e-4,
|
|
power=0.9,
|
|
begin=1000,
|
|
end=160000,
|
|
by_epoch=False,
|
|
)
|
|
]
|
|
optimizer = dict(type='SGD', lr=0.005, momentum=0.9, weight_decay=0.0005)
|
|
optim_wrapper = dict(type='OptimWrapper', optimizer=optimizer)
|
|
train_dataloader = dict(batch_size=4, num_workers=4)
|
|
val_dataloader = dict(batch_size=1, num_workers=4)
|
|
test_dataloader = val_dataloader
|