| modality = 'k' | |
| graph = 'nturgb+d' | |
| work_dir = './work_dirs/test_prototype/ntu60_xsub/k_1' | |
| model = dict( | |
| type='RecognizerGCN_7_1_1', | |
| backbone=dict( | |
| type='GCN_7_1_1', | |
| tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'], | |
| graph_cfg=dict( | |
| layout='nturgb+d', | |
| mode='random', | |
| num_filter=8, | |
| init_off=0.04, | |
| init_std=0.02)), | |
| cls_head=dict(type='SimpleHead_7_4_1', num_classes=60, in_channels=384)) | |
| dataset_type = 'PoseDataset' | |
| ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl' | |
| train_pipeline = [ | |
| dict(type='PreNormalize3D', align_spine=False), | |
| dict(type='RandomRot', theta=0.2), | |
| dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5), | |
| dict(type='GenSkeFeat', feats=['k']), | |
| dict(type='UniformSampleDecode', clip_len=100), | |
| dict(type='FormatGCNInput'), | |
| dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]), | |
| dict(type='ToTensor', keys=['keypoint']) | |
| ] | |
| val_pipeline = [ | |
| dict(type='PreNormalize3D', align_spine=False), | |
| dict(type='GenSkeFeat', feats=['k']), | |
| dict(type='UniformSampleDecode', clip_len=100, num_clips=1), | |
| dict(type='FormatGCNInput'), | |
| dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]), | |
| dict(type='ToTensor', keys=['keypoint']) | |
| ] | |
| test_pipeline = [ | |
| dict(type='PreNormalize3D', align_spine=False), | |
| dict(type='GenSkeFeat', feats=['k']), | |
| dict(type='UniformSampleDecode', clip_len=100, num_clips=10), | |
| dict(type='FormatGCNInput'), | |
| dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]), | |
| dict(type='ToTensor', keys=['keypoint']) | |
| ] | |
| data = dict( | |
| videos_per_gpu=16, | |
| workers_per_gpu=4, | |
| test_dataloader=dict(videos_per_gpu=1), | |
| train=dict( | |
| type='PoseDataset', | |
| ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl', | |
| pipeline=[ | |
| dict(type='PreNormalize3D', align_spine=False), | |
| dict(type='RandomRot', theta=0.2), | |
| dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5), | |
| dict(type='GenSkeFeat', feats=['k']), | |
| dict(type='UniformSampleDecode', clip_len=100), | |
| dict(type='FormatGCNInput'), | |
| dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]), | |
| dict(type='ToTensor', keys=['keypoint']) | |
| ], | |
| split='xsub_train'), | |
| val=dict( | |
| type='PoseDataset', | |
| ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl', | |
| pipeline=[ | |
| dict(type='PreNormalize3D', align_spine=False), | |
| dict(type='GenSkeFeat', feats=['k']), | |
| dict(type='UniformSampleDecode', clip_len=100, num_clips=1), | |
| dict(type='FormatGCNInput'), | |
| dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]), | |
| dict(type='ToTensor', keys=['keypoint']) | |
| ], | |
| split='xsub_val'), | |
| test=dict( | |
| type='PoseDataset', | |
| ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl', | |
| pipeline=[ | |
| dict(type='PreNormalize3D', align_spine=False), | |
| dict(type='GenSkeFeat', feats=['k']), | |
| dict(type='UniformSampleDecode', clip_len=100, num_clips=10), | |
| dict(type='FormatGCNInput'), | |
| dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]), | |
| dict(type='ToTensor', keys=['keypoint']) | |
| ], | |
| split='xsub_val')) | |
| optimizer = dict( | |
| type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True) | |
| optimizer_config = dict(grad_clip=None) | |
| lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False) | |
| total_epochs = 150 | |
| checkpoint_config = dict(interval=1) | |
| evaluation = dict(interval=1, metrics=['top_k_accuracy']) | |
| log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')]) | |
| dist_params = dict(backend='nccl') | |
| gpu_ids = range(0, 1) | |