NUM_CLASSES = 2 CLASSES = ['0', '1'] model = dict( type='ImageClassifier', backbone=dict( type='ConvNeXt', arch='base', drop_path_rate=0.1, layer_scale_init_value=0.0, use_grn=True), head=dict( type='LinearClsHead', num_classes=NUM_CLASSES, in_channels=1024, loss=dict(type='LabelSmoothLoss', label_smooth_val=0.1), init_cfg=None), init_cfg=dict( type='TruncNormal', layer=['Conv2d', 'Linear'], std=0.02, bias=0.0), train_cfg=dict(augments=[ dict(type='Mixup', alpha=0.8), dict(type='CutMix', alpha=1.0) ])) dataset_type = 'CustomDataset' data_preprocessor = dict( num_classes=NUM_CLASSES, mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True) train_pipeline = [ dict(type='LoadImageFromFile'), dict( type='RandomResizedCrop', scale=384, backend='pillow', interpolation='bicubic'), dict(type='RandomFlip', prob=0.5, direction='horizontal'), dict(type='PackInputs') ] test_pipeline = [ dict(type='LoadImageFromFile'), dict(type='Resize', scale=384, backend='pillow', interpolation='bicubic'), dict(type='PackInputs') ] train_dataloader = dict( pin_memory=True, persistent_workers=True, collate_fn=dict(type='default_collate'), # batch_size=32, batch_size=16, num_workers=5, dataset=dict( type='CustomDataset', data_root='../data-raw/external/UTKFace/', ann_file='gender_train/gender_train.txt', data_prefix='gender_train', pipeline=[ dict(type='LoadImageFromFile'), dict( type='RandomResizedCrop', scale=384, backend='pillow', interpolation='bicubic'), dict(type='RandomFlip', prob=0.5, direction='horizontal'), dict(type='PackInputs') ], with_label=True, classes=CLASSES), sampler=dict(type='DefaultSampler', shuffle=True)) val_dataloader = dict( pin_memory=True, persistent_workers=True, collate_fn=dict(type='default_collate'), # batch_size=64, batch_size=16, num_workers=5, dataset=dict( type='CustomDataset', data_root='../data-raw/external/UTKFace/', ann_file='gender_val/gender_val.txt', data_prefix='gender_val', pipeline=[ dict(type='LoadImageFromFile'), dict( type='Resize', scale=384, backend='pillow', interpolation='bicubic'), dict(type='PackInputs') ], with_label=True, classes=CLASSES), sampler=dict(type='DefaultSampler', shuffle=False)) val_evaluator = dict(type='Accuracy') test_dataloader = dict( pin_memory=True, persistent_workers=True, collate_fn=dict(type='default_collate'), # batch_size=64, batch_size=16, num_workers=5, dataset=dict( type='CustomDataset', # data_root='/home/gajjarbhavin99/UTKFace/', data_root='../data-raw/external/UTKFace/', ann_file='gender_test/gender_test.txt', data_prefix='gender_test', pipeline=[ dict(type='LoadImageFromFile'), dict( type='Resize', scale=384, backend='pillow', interpolation='bicubic'), dict(type='PackInputs') ], with_label=True, classes=CLASSES), sampler=dict(type='DefaultSampler', shuffle=False)) test_evaluator = dict(type='Accuracy') optim_wrapper = dict( optimizer=dict( type='AdamW', # lr=0.0025, lr=0.0025/32, weight_decay=0.05, eps=1e-08, betas=(0.9, 0.999)), paramwise_cfg=dict( norm_decay_mult=0.0, bias_decay_mult=0.0, flat_decay_mult=0.0, custom_keys=dict({ '.absolute_pos_embed': dict(decay_mult=0.0), '.relative_position_bias_table': dict(decay_mult=0.0) })), clip_grad=None) param_scheduler = [ dict( type='LinearLR', start_factor=0.001, by_epoch=True, end=20, convert_to_iter_based=True), dict(type='CosineAnnealingLR', eta_min=1e-05, by_epoch=True, begin=20) ] train_cfg = dict(by_epoch=True, max_epochs=100, val_interval=1) val_cfg = dict() test_cfg = dict() # auto_scale_lr = dict(base_batch_size=1024) auto_scale_lr = dict(base_batch_size=32) default_scope = 'mmpretrain' default_hooks = dict( timer=dict(type='IterTimerHook'), logger=dict(type='LoggerHook', interval=100), param_scheduler=dict(type='ParamSchedulerHook'), checkpoint=dict(type='CheckpointHook', interval=1), sampler_seed=dict(type='DistSamplerSeedHook'), visualization=dict(type='VisualizationHook', enable=False)) env_cfg = dict( cudnn_benchmark=False, mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0), dist_cfg=dict(backend='nccl')) vis_backends = [dict(type='LocalVisBackend')] visualizer = dict( type='UniversalVisualizer', vis_backends=[dict(type='LocalVisBackend')]) log_level = 'INFO' load_from = None resume = False randomness = dict(seed=None, deterministic=False) custom_hooks = [dict(type='EMAHook', momentum=0.0001, priority='ABOVE_NORMAL')] launcher = 'none' work_dir = './work_dirs/convnext-v2-base_32xb32_in1k-384px'