12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- _base_ = [
- 'mmcls::_base_/datasets/imagenet_bs256_rsb_a12.py',
- 'mmcls::_base_/schedules/imagenet_bs2048_rsb.py',
- 'mmcls::_base_/default_runtime.py'
- ]
- model = dict(
- type='ImageClassifier',
- backbone=dict(
- type='mmdet.CSPNeXt',
- arch='P5',
- out_indices=(4, ),
- expand_ratio=0.5,
- deepen_factor=0.33,
- widen_factor=0.5,
- channel_attention=True,
- norm_cfg=dict(type='BN'),
- act_cfg=dict(type='mmdet.SiLU')),
- neck=dict(type='GlobalAveragePooling'),
- head=dict(
- type='LinearClsHead',
- num_classes=1000,
- in_channels=512,
- loss=dict(
- type='LabelSmoothLoss',
- label_smooth_val=0.1,
- mode='original',
- loss_weight=1.0),
- topk=(1, 5)),
- train_cfg=dict(augments=[
- dict(type='Mixup', alpha=0.2),
- dict(type='CutMix', alpha=1.0)
- ]))
- # dataset settings
- train_dataloader = dict(sampler=dict(type='RepeatAugSampler', shuffle=True))
- # schedule settings
- optim_wrapper = dict(
- optimizer=dict(weight_decay=0.01),
- paramwise_cfg=dict(bias_decay_mult=0., norm_decay_mult=0.),
- )
- param_scheduler = [
- # warm up learning rate scheduler
- dict(
- type='LinearLR',
- start_factor=0.0001,
- by_epoch=True,
- begin=0,
- end=5,
- # update by iter
- convert_to_iter_based=True),
- # main learning rate scheduler
- dict(
- type='CosineAnnealingLR',
- T_max=595,
- eta_min=1.0e-6,
- by_epoch=True,
- begin=5,
- end=600)
- ]
- train_cfg = dict(by_epoch=True, max_epochs=600)
|