* upload original backbone and configs * ConvNext Refactor * ConvNext Refactor * convnext customization refactor with mmseg style * convnext customization refactor with mmseg style * add ade20k_640x640.py * upload files for training * delete dist_optimizer_hook and remove layer_decay_optimizer_constructor * check max(out_indices) < num_stages * add unittest * fix lint error * use MMClassification backbone * fix bugs in base_1k * add mmcls in requirements/mminstall.txt * add mmcls in requirements/mminstall.txt * fix drop_path_rate and layer_scale_init_value * use logger.info instead of print * add mmcls in runtime.txt * fix f string && delete * add doctring in LearningRateDecayOptimizerConstructor and fix mmcls version in requirements * fix typo in LearningRateDecayOptimizerConstructor * use ConvNext models in unit test for LearningRateDecayOptimizerConstructor * add unit test * fix typo * fix typo * add layer_wise and fix redundant backbone.downsample_norm in it * fix unit test * give a ground truth lr_scale and weight_decay * upload models and readme * delete 'backbone.stem_norm' and 'backbone.downsample_norm' in get_num_layer() * fix unit test and use mmcls url * update md2yml.py and metafile * fix typo
41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
_base_ = [
|
|
'../_base_/models/upernet_convnext.py', '../_base_/datasets/ade20k.py',
|
|
'../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py'
|
|
]
|
|
crop_size = (512, 512)
|
|
model = dict(
|
|
decode_head=dict(in_channels=[128, 256, 512, 1024], num_classes=150),
|
|
auxiliary_head=dict(in_channels=512, num_classes=150),
|
|
test_cfg=dict(mode='slide', crop_size=crop_size, stride=(341, 341)),
|
|
)
|
|
|
|
optimizer = dict(
|
|
constructor='LearningRateDecayOptimizerConstructor',
|
|
_delete_=True,
|
|
type='AdamW',
|
|
lr=0.0001,
|
|
betas=(0.9, 0.999),
|
|
weight_decay=0.05,
|
|
paramwise_cfg={
|
|
'decay_rate': 0.9,
|
|
'decay_type': 'stage_wise',
|
|
'num_layers': 12
|
|
})
|
|
|
|
lr_config = dict(
|
|
_delete_=True,
|
|
policy='poly',
|
|
warmup='linear',
|
|
warmup_iters=1500,
|
|
warmup_ratio=1e-6,
|
|
power=1.0,
|
|
min_lr=0.0,
|
|
by_epoch=False)
|
|
|
|
# By default, models are trained on 8 GPUs with 2 images per GPU
|
|
data = dict(samples_per_gpu=2)
|
|
# fp16 settings
|
|
optimizer_config = dict(type='Fp16OptimizerHook', loss_scale='dynamic')
|
|
# fp16 placeholder
|
|
fp16 = dict()
|