日志参数含义
一
-
学习率相关
- base_lr:基础学习率,初始设定的学习率
-lr:当前实际使用的学习率,通常是 base_lr 经过学习率调整策略后的值,比如lr=base_lr*(1+start_factor)
- base_lr:基础学习率,初始设定的学习率
-
时间统计
- time:每次迭代总时间,单位是s
- data_time:数据加载时间,单位是s
-
性能指标
- loss:总损失值
- loss_cls:分类损失值:
- top1_acc:单次batch的准确率
- top5_acc:单次batch的准确率
-
训练进度
- epoch: 当前训练轮次
- iter:当前迭代次数,表示模型训练过程中已经处理了多少批数据,等于data_num/batch_size
- memory: GPU显存使用量(MB),50%最佳(当memory显示50时,总使用显存往往占整个显存的70%左右)
- step:表示优化器更新参数的次数,在常规训练中,每个迭代都会更新一次参数,此时与 iter 相同,但在一些特殊情况下可能不同,比如,梯度累积时,多个 iter 才会执行一次 step,分布式训练时,step 可能与 iter 不同步
二
早停一般patience=max_epochs/10~max_epochs/10+5
ann_file_test = '/hy-tmp/test_split1.txt'
ann_file_train = '/hy-tmp/train_split1.txt'
ann_file_val = '/hy-tmp/val_split1.txt'
auto_scale_lr = dict(base_batch_size=64, enable=False)
data_root = '/hy-tmp/hy-tmp/hmdb51_sta/hmdb51_sta'
data_root_val = '/hy-tmp/hy-tmp/hmdb51_sta/hmdb51_sta'
dataset_type = 'VideoDataset'
default_hooks = dict(checkpoint=dict(interval=1, max_keep_ckpts=10, save_best='auto',type='CheckpointHook'),early_stopping=dict(min_delta=0.001,monitor='acc/top1',patience=1,rule='greater',type='EarlyStoppingHook'),logger=dict(ignore_last=False, interval=100, type='LoggerHook'),param_scheduler=dict(type='ParamSchedulerHook'),runtime_info=dict(type='RuntimeInfoHook'),sampler_seed=dict(type='DistSamplerSeedHook'),sync_buffers=dict(type='SyncBuffersHook'),timer=dict(type='IterTimerHook'))
default_scope = 'mmaction'
env_cfg = dict(cudnn_benchmark=False,dist_cfg=dict(backend='nccl'),mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0))
file_client_args = dict(io_backend='disk')
launcher = 'none'
load_from = '/hy-tmp/mmaction2-main/work_dirs/my_swin-tiny-p244-w877_no-pre_8xb8-amp-32x2x1-30e_hmdb51-rgb/epoch_25.pth'
log_level = 'INFO'
log_processor = dict(by_epoch=True, type='LogProcessor', window_size=20)
model = dict(backbone=dict(arch='tiny',attn_drop_rate=0.0,drop_path_rate=0.1,drop_rate=0.0,mlp_ratio=4.0,patch_norm=True,patch_size=(2,4,4,),pretrained=None,pretrained2d=None,qk_scale=None,qkv_bias=True,type='SwinTransformer3D',window_size=(8,7,7,)),cls_head=dict(average_clips='prob',dropout_ratio=0.5,in_channels=768,num_classes=102,spatial_type='avg',type='I3DHead'),data_preprocessor=dict(format_shape='NCTHW',mean=[123.675,116.28,103.53,],std=[58.395,57.12,57.375,],type='ActionDataPreprocessor'),type='Recognizer3D')
optim_wrapper = dict(constructor='SwinOptimWrapperConstructor',optimizer=dict(betas=(0.9,0.999,), lr=0.001, type='AdamW', weight_decay=0.02),paramwise_cfg=dict(absolute_pos_embed=dict(decay_mult=0.0),backbone=dict(lr_mult=0.1),norm=dict(decay_mult=0.0),relative_position_bias_table=dict(decay_mult=0.0)),type='AmpOptimWrapper')
param_scheduler = [dict(begin=0,by_epoch=True,convert_to_iter_based=True,end=2.5,start_factor=0.1,type='LinearLR'),dict(T_max=26,begin=0,by_epoch=True,end=150,eta_min=0,type='CosineAnnealingLR'),
]
randomness = dict(deterministic=False, diff_rank_seed=False, seed=None)
resume = True
test_cfg = dict(type='TestLoop')
test_dataloader = dict(batch_size=1,dataset=dict(ann_file='/hy-tmp/test_split1.txt',data_prefix=dict(video='/hy-tmp/hy-tmp/hmdb51_sta/hmdb51_sta'),pipeline=[dict(io_backend='disk', type='DecordInit'),dict(clip_len=32,frame_interval=2,num_clips=4,test_mode=True,type='SampleFrames'),dict(type='DecordDecode'),dict(scale=(-1,224,), type='Resize'),dict(crop_size=224, type='ThreeCrop'),dict(input_format='NCTHW', type='FormatShape'),dict(type='PackActionInputs'),],test_mode=True,type='VideoDataset'),num_workers=8,persistent_workers=True,sampler=dict(shuffle=False, type='DefaultSampler'))
test_evaluator = dict(type='AccMetric')
test_pipeline = [dict(io_backend='disk', type='DecordInit'),dict(clip_len=32,frame_interval=2,num_clips=4,test_mode=True,type='SampleFrames'),dict(type='DecordDecode'),dict(scale=(-1,224,), type='Resize'),dict(crop_size=224, type='ThreeCrop'),dict(input_format='NCTHW', type='FormatShape'),dict(type='PackActionInputs'),
]
train_cfg = dict(max_epochs=26, type='EpochBasedTrainLoop', val_begin=1, val_interval=1)
train_dataloader = dict(batch_size=4,dataset=dict(ann_file='/hy-tmp/train_split1.txt',data_prefix=dict(video='/hy-tmp/hy-tmp/hmdb51_sta/hmdb51_sta'),pipeline=[dict(io_backend='disk', type='DecordInit'),dict(clip_len=3, frame_interval=2, num_clips=1,type='SampleFrames'),dict(type='DecordDecode'),dict(scale=(-1,256,), type='Resize'),dict(type='RandomResizedCrop'),dict(keep_ratio=False, scale=(224,224,), type='Resize'),dict(flip_ratio=0.5, type='Flip'),dict(input_format='NCTHW', type='FormatShape'),dict(type='PackActionInputs'),],type='VideoDataset'),num_workers=8,persistent_workers=True,sampler=dict(shuffle=True, type='DefaultSampler'))
train_pipeline = [dict(io_backend='disk', type='DecordInit'),dict(clip_len=3, frame_interval=2, num_clips=1, type='SampleFrames'),dict(type='DecordDecode'),dict(scale=(-1,256,), type='Resize'),dict(type='RandomResizedCrop'),dict(keep_ratio=False, scale=(224,224,), type='Resize'),dict(flip_ratio=0.5, type='Flip'),dict(input_format='NCTHW', type='FormatShape'),dict(type='PackActionInputs'),
]
val_cfg = dict(type='ValLoop')
val_dataloader = dict(batch_size=4,dataset=dict(ann_file='/hy-tmp/val_split1.txt',data_prefix=dict(video='/hy-tmp/hy-tmp/hmdb51_sta/hmdb51_sta'),pipeline=[dict(io_backend='disk', type='DecordInit'),dict(clip_len=3,frame_interval=2,num_clips=1,test_mode=True,type='SampleFrames'),dict(type='DecordDecode'),dict(scale=(-1,256,), type='Resize'),dict(crop_size=224, type='CenterCrop'),dict(input_format='NCTHW', type='FormatShape'),dict(type='PackActionInputs'),],test_mode=True,type='VideoDataset'),num_workers=8,persistent_workers=True,sampler=dict(shuffle=False, type='DefaultSampler'))
val_evaluator = dict(type='AccMetric')
val_pipeline = [dict(io_backend='disk', type='DecordInit'),dict(clip_len=3,frame_interval=2,num_clips=1,test_mode=True,type='SampleFrames'),dict(type='DecordDecode'),dict(scale=(-1,256,), type='Resize'),dict(crop_size=224, type='CenterCrop'),dict(input_format='NCTHW', type='FormatShape'),dict(type='PackActionInputs'),
]
vis_backends = [dict(type='LocalVisBackend'),
]
visualizer = dict(type='ActionVisualizer', vis_backends=[dict(type='LocalVisBackend'),])
work_dir = './work_dirs/my_swin-tiny-p244-w877_no-pre_8xb8-amp-32x2x1-30e_hmdb51-rgb'