firework8 commited on
Commit
1857434
·
verified ·
1 Parent(s): 6bd6faa

Upload 41 files

Browse files
Files changed (41) hide show
  1. ntu120_xsub/b_2/20240918_150455.log +0 -0
  2. ntu120_xsub/b_2/20240918_150455.log.json +0 -0
  3. ntu120_xsub/b_2/b_2.py +98 -0
  4. ntu120_xsub/b_2/best_pred.pkl +3 -0
  5. ntu120_xsub/b_2/best_top1_acc_epoch_137.pth +3 -0
  6. ntu120_xsub/bm/20231228_223220.log +0 -0
  7. ntu120_xsub/bm/20231228_223220.log.json +0 -0
  8. ntu120_xsub/bm/best_pred.pkl +3 -0
  9. ntu120_xsub/bm/best_top1_acc_epoch_148.pth +3 -0
  10. ntu120_xsub/bm/bm.py +95 -0
  11. ntu120_xsub/j_1/20231218_143057.log +0 -0
  12. ntu120_xsub/j_1/20231218_143057.log.json +0 -0
  13. ntu120_xsub/j_1/best_pred.pkl +3 -0
  14. ntu120_xsub/j_1/best_top1_acc_epoch_141.pth +3 -0
  15. ntu120_xsub/j_1/j_1.py +95 -0
  16. ntu120_xsub/j_2/20231227_203528.log +0 -0
  17. ntu120_xsub/j_2/20231227_203528.log.json +0 -0
  18. ntu120_xsub/j_2/best_pred.pkl +3 -0
  19. ntu120_xsub/j_2/best_top1_acc_epoch_144.pth +3 -0
  20. ntu120_xsub/j_2/j_2.py +98 -0
  21. ntu120_xsub/jm/20231228_223230.log +0 -0
  22. ntu120_xsub/jm/20231228_223230.log.json +0 -0
  23. ntu120_xsub/jm/best_pred.pkl +3 -0
  24. ntu120_xsub/jm/best_top1_acc_epoch_148.pth +3 -0
  25. ntu120_xsub/jm/jm.py +95 -0
  26. ntu120_xsub/k_1/20231218_144051.log +0 -0
  27. ntu120_xsub/k_1/20231218_144051.log.json +0 -0
  28. ntu120_xsub/k_1/best_pred.pkl +3 -0
  29. ntu120_xsub/k_1/best_top1_acc_epoch_150.pth +3 -0
  30. ntu120_xsub/k_1/k_1.py +98 -0
  31. ntu120_xsub/k_2/20231227_203500.log +0 -0
  32. ntu120_xsub/k_2/20231227_203500.log.json +0 -0
  33. ntu120_xsub/k_2/best_pred.pkl +3 -0
  34. ntu120_xsub/k_2/best_top1_acc_epoch_142.pth +3 -0
  35. ntu120_xsub/k_2/k_2.py +98 -0
  36. ntu120_xsub/km/20231229_220026.log +0 -0
  37. ntu120_xsub/km/20231229_220026.log.json +0 -0
  38. ntu120_xsub/km/best_pred.pkl +3 -0
  39. ntu120_xsub/km/best_top1_acc_epoch_146.pth +3 -0
  40. ntu120_xsub/km/km.py +95 -0
  41. ntu120_xsub/ntu120_xsub_ensemble.py +65 -0
ntu120_xsub/b_2/20240918_150455.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/b_2/20240918_150455.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/b_2/b_2.py ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'b'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xsub/b_2'
4
+ model = dict(
5
+ type='RecognizerGCN_7_1_1',
6
+ backbone=dict(
7
+ type='GCN_7_1_1',
8
+ tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
9
+ graph_cfg=dict(
10
+ layout='nturgb+d',
11
+ mode='random',
12
+ num_filter=8,
13
+ init_off=0.04,
14
+ init_std=0.02)),
15
+ cls_head=dict(type='SimpleHead_7_4_3', num_classes=120, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
22
+ dict(type='GenSkeFeat', feats=['b']),
23
+ dict(type='UniformSampleDecode', clip_len=100),
24
+ dict(type='FormatGCNInput'),
25
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
26
+ dict(type='ToTensor', keys=['keypoint'])
27
+ ]
28
+ val_pipeline = [
29
+ dict(type='PreNormalize3D', align_spine=False),
30
+ dict(type='GenSkeFeat', feats=['b']),
31
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
32
+ dict(type='FormatGCNInput'),
33
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
34
+ dict(type='ToTensor', keys=['keypoint'])
35
+ ]
36
+ test_pipeline = [
37
+ dict(type='PreNormalize3D', align_spine=False),
38
+ dict(type='GenSkeFeat', feats=['b']),
39
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
40
+ dict(type='FormatGCNInput'),
41
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
42
+ dict(type='ToTensor', keys=['keypoint'])
43
+ ]
44
+ data = dict(
45
+ videos_per_gpu=16,
46
+ workers_per_gpu=4,
47
+ test_dataloader=dict(videos_per_gpu=1),
48
+ train=dict(
49
+ type='PoseDataset',
50
+ ann_file=
51
+ '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
52
+ pipeline=[
53
+ dict(type='PreNormalize3D', align_spine=False),
54
+ dict(type='RandomRot', theta=0.2),
55
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
56
+ dict(type='GenSkeFeat', feats=['b']),
57
+ dict(type='UniformSampleDecode', clip_len=100),
58
+ dict(type='FormatGCNInput'),
59
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
60
+ dict(type='ToTensor', keys=['keypoint'])
61
+ ],
62
+ split='xsub_train'),
63
+ val=dict(
64
+ type='PoseDataset',
65
+ ann_file=
66
+ '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
67
+ pipeline=[
68
+ dict(type='PreNormalize3D', align_spine=False),
69
+ dict(type='GenSkeFeat', feats=['b']),
70
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
71
+ dict(type='FormatGCNInput'),
72
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
73
+ dict(type='ToTensor', keys=['keypoint'])
74
+ ],
75
+ split='xsub_val'),
76
+ test=dict(
77
+ type='PoseDataset',
78
+ ann_file=
79
+ '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
80
+ pipeline=[
81
+ dict(type='PreNormalize3D', align_spine=False),
82
+ dict(type='GenSkeFeat', feats=['b']),
83
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
84
+ dict(type='FormatGCNInput'),
85
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
86
+ dict(type='ToTensor', keys=['keypoint'])
87
+ ],
88
+ split='xsub_val'))
89
+ optimizer = dict(
90
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
91
+ optimizer_config = dict(grad_clip=None)
92
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
93
+ total_epochs = 150
94
+ checkpoint_config = dict(interval=1)
95
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
96
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
97
+ dist_params = dict(backend='nccl')
98
+ gpu_ids = range(0, 1)
ntu120_xsub/b_2/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c91f52155366957683157822c456c44b4a3deb733dc795876b6839deca21d2e1
3
+ size 37301266
ntu120_xsub/b_2/best_top1_acc_epoch_137.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:88113dd9b6ac68935b01253b63c550a2b378690e523cec8b653641922366ebf5
3
+ size 33657446
ntu120_xsub/bm/20231228_223220.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/bm/20231228_223220.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/bm/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:808bc13fd5cc33065f7f3dd71a41a516fe491dbf8efa237b28ccf1a52a8ede70
3
+ size 37300681
ntu120_xsub/bm/best_top1_acc_epoch_148.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:234939d055d1be92185ce98bdbe070ffe0edc32e30a5d4f815d6f2f1f816a3e5
3
+ size 33657318
ntu120_xsub/bm/bm.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'bm'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xsub/bm'
4
+ model = dict(
5
+ type='RecognizerGCN_7_1_1',
6
+ backbone=dict(
7
+ type='GCN_7_1_1',
8
+ tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
9
+ graph_cfg=dict(
10
+ layout='nturgb+d',
11
+ mode='random',
12
+ num_filter=8,
13
+ init_off=0.04,
14
+ init_std=0.02)),
15
+ cls_head=dict(type='SimpleHead_7_4_3', num_classes=120, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
22
+ dict(type='GenSkeFeat', feats=['bm']),
23
+ dict(type='UniformSampleDecode', clip_len=100),
24
+ dict(type='FormatGCNInput'),
25
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
26
+ dict(type='ToTensor', keys=['keypoint'])
27
+ ]
28
+ val_pipeline = [
29
+ dict(type='PreNormalize3D', align_spine=False),
30
+ dict(type='GenSkeFeat', feats=['bm']),
31
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
32
+ dict(type='FormatGCNInput'),
33
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
34
+ dict(type='ToTensor', keys=['keypoint'])
35
+ ]
36
+ test_pipeline = [
37
+ dict(type='PreNormalize3D', align_spine=False),
38
+ dict(type='GenSkeFeat', feats=['bm']),
39
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
40
+ dict(type='FormatGCNInput'),
41
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
42
+ dict(type='ToTensor', keys=['keypoint'])
43
+ ]
44
+ data = dict(
45
+ videos_per_gpu=16,
46
+ workers_per_gpu=4,
47
+ test_dataloader=dict(videos_per_gpu=1),
48
+ train=dict(
49
+ type='PoseDataset',
50
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
51
+ pipeline=[
52
+ dict(type='PreNormalize3D', align_spine=False),
53
+ dict(type='RandomRot', theta=0.2),
54
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
55
+ dict(type='GenSkeFeat', feats=['bm']),
56
+ dict(type='UniformSampleDecode', clip_len=100),
57
+ dict(type='FormatGCNInput'),
58
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
59
+ dict(type='ToTensor', keys=['keypoint'])
60
+ ],
61
+ split='xsub_train'),
62
+ val=dict(
63
+ type='PoseDataset',
64
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
65
+ pipeline=[
66
+ dict(type='PreNormalize3D', align_spine=False),
67
+ dict(type='GenSkeFeat', feats=['bm']),
68
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
69
+ dict(type='FormatGCNInput'),
70
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
71
+ dict(type='ToTensor', keys=['keypoint'])
72
+ ],
73
+ split='xsub_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
77
+ pipeline=[
78
+ dict(type='PreNormalize3D', align_spine=False),
79
+ dict(type='GenSkeFeat', feats=['bm']),
80
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
81
+ dict(type='FormatGCNInput'),
82
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
83
+ dict(type='ToTensor', keys=['keypoint'])
84
+ ],
85
+ split='xsub_val'))
86
+ optimizer = dict(
87
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
88
+ optimizer_config = dict(grad_clip=None)
89
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
90
+ total_epochs = 150
91
+ checkpoint_config = dict(interval=1)
92
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
93
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
94
+ dist_params = dict(backend='nccl')
95
+ gpu_ids = range(0, 1)
ntu120_xsub/j_1/20231218_143057.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/j_1/20231218_143057.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/j_1/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a34a9013bd061a2951ab99ef97203f4bc55417d001e44f8eb633510da27a5355
3
+ size 37307285
ntu120_xsub/j_1/best_top1_acc_epoch_141.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:42bb9554a189ab3856da8a9ab92ac4cbf0dc307c868d242c1f77ca1853f1944a
3
+ size 35500454
ntu120_xsub/j_1/j_1.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'j'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xsub/j_1'
4
+ model = dict(
5
+ type='RecognizerGCN_7_1_1',
6
+ backbone=dict(
7
+ type='GCN_7_1_2',
8
+ tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
9
+ graph_cfg=dict(
10
+ layout='nturgb+d',
11
+ mode='random',
12
+ num_filter=8,
13
+ init_off=0.04,
14
+ init_std=0.02)),
15
+ cls_head=dict(type='SimpleHead_7_4_2', num_classes=120, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
22
+ dict(type='GenSkeFeat', feats=['j']),
23
+ dict(type='UniformSampleDecode', clip_len=100),
24
+ dict(type='FormatGCNInput'),
25
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
26
+ dict(type='ToTensor', keys=['keypoint'])
27
+ ]
28
+ val_pipeline = [
29
+ dict(type='PreNormalize3D', align_spine=False),
30
+ dict(type='GenSkeFeat', feats=['j']),
31
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
32
+ dict(type='FormatGCNInput'),
33
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
34
+ dict(type='ToTensor', keys=['keypoint'])
35
+ ]
36
+ test_pipeline = [
37
+ dict(type='PreNormalize3D', align_spine=False),
38
+ dict(type='GenSkeFeat', feats=['j']),
39
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
40
+ dict(type='FormatGCNInput'),
41
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
42
+ dict(type='ToTensor', keys=['keypoint'])
43
+ ]
44
+ data = dict(
45
+ videos_per_gpu=16,
46
+ workers_per_gpu=4,
47
+ test_dataloader=dict(videos_per_gpu=1),
48
+ train=dict(
49
+ type='PoseDataset',
50
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
51
+ pipeline=[
52
+ dict(type='PreNormalize3D', align_spine=False),
53
+ dict(type='RandomRot', theta=0.2),
54
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
55
+ dict(type='GenSkeFeat', feats=['j']),
56
+ dict(type='UniformSampleDecode', clip_len=100),
57
+ dict(type='FormatGCNInput'),
58
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
59
+ dict(type='ToTensor', keys=['keypoint'])
60
+ ],
61
+ split='xsub_train'),
62
+ val=dict(
63
+ type='PoseDataset',
64
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
65
+ pipeline=[
66
+ dict(type='PreNormalize3D', align_spine=False),
67
+ dict(type='GenSkeFeat', feats=['j']),
68
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
69
+ dict(type='FormatGCNInput'),
70
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
71
+ dict(type='ToTensor', keys=['keypoint'])
72
+ ],
73
+ split='xsub_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
77
+ pipeline=[
78
+ dict(type='PreNormalize3D', align_spine=False),
79
+ dict(type='GenSkeFeat', feats=['j']),
80
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
81
+ dict(type='FormatGCNInput'),
82
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
83
+ dict(type='ToTensor', keys=['keypoint'])
84
+ ],
85
+ split='xsub_val'))
86
+ optimizer = dict(
87
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
88
+ optimizer_config = dict(grad_clip=None)
89
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
90
+ total_epochs = 150
91
+ checkpoint_config = dict(interval=1)
92
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
93
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
94
+ dist_params = dict(backend='nccl')
95
+ gpu_ids = range(0, 1)
ntu120_xsub/j_2/20231227_203528.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/j_2/20231227_203528.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/j_2/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f9b2d4e87efbcaac83761c906a3d859ff6da73e3c0dd1b4208aaf4e612c410c1
3
+ size 37295569
ntu120_xsub/j_2/best_top1_acc_epoch_144.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2e6768bd626c55f5ec17b8112126781bff1f5867a10e784b486af19ca14a4397
3
+ size 35500646
ntu120_xsub/j_2/j_2.py ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'j'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xsub/j_2'
4
+ model = dict(
5
+ type='RecognizerGCN_7_1_1',
6
+ backbone=dict(
7
+ type='GCN_7_1_2',
8
+ tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
9
+ graph_cfg=dict(
10
+ layout='nturgb+d',
11
+ mode='random',
12
+ num_filter=8,
13
+ init_off=0.04,
14
+ init_std=0.02)),
15
+ cls_head=dict(type='SimpleHead_7_4_2', num_classes=120, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
22
+ dict(type='GenSkeFeat', feats=['j']),
23
+ dict(type='UniformSampleDecode', clip_len=100),
24
+ dict(type='FormatGCNInput'),
25
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
26
+ dict(type='ToTensor', keys=['keypoint'])
27
+ ]
28
+ val_pipeline = [
29
+ dict(type='PreNormalize3D', align_spine=False),
30
+ dict(type='GenSkeFeat', feats=['j']),
31
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
32
+ dict(type='FormatGCNInput'),
33
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
34
+ dict(type='ToTensor', keys=['keypoint'])
35
+ ]
36
+ test_pipeline = [
37
+ dict(type='PreNormalize3D', align_spine=False),
38
+ dict(type='GenSkeFeat', feats=['j']),
39
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
40
+ dict(type='FormatGCNInput'),
41
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
42
+ dict(type='ToTensor', keys=['keypoint'])
43
+ ]
44
+ data = dict(
45
+ videos_per_gpu=16,
46
+ workers_per_gpu=4,
47
+ test_dataloader=dict(videos_per_gpu=1),
48
+ train=dict(
49
+ type='PoseDataset',
50
+ ann_file=
51
+ '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
52
+ pipeline=[
53
+ dict(type='PreNormalize3D', align_spine=False),
54
+ dict(type='RandomRot', theta=0.2),
55
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
56
+ dict(type='GenSkeFeat', feats=['j']),
57
+ dict(type='UniformSampleDecode', clip_len=100),
58
+ dict(type='FormatGCNInput'),
59
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
60
+ dict(type='ToTensor', keys=['keypoint'])
61
+ ],
62
+ split='xsub_train'),
63
+ val=dict(
64
+ type='PoseDataset',
65
+ ann_file=
66
+ '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
67
+ pipeline=[
68
+ dict(type='PreNormalize3D', align_spine=False),
69
+ dict(type='GenSkeFeat', feats=['j']),
70
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
71
+ dict(type='FormatGCNInput'),
72
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
73
+ dict(type='ToTensor', keys=['keypoint'])
74
+ ],
75
+ split='xsub_val'),
76
+ test=dict(
77
+ type='PoseDataset',
78
+ ann_file=
79
+ '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
80
+ pipeline=[
81
+ dict(type='PreNormalize3D', align_spine=False),
82
+ dict(type='GenSkeFeat', feats=['j']),
83
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
84
+ dict(type='FormatGCNInput'),
85
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
86
+ dict(type='ToTensor', keys=['keypoint'])
87
+ ],
88
+ split='xsub_val'))
89
+ optimizer = dict(
90
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
91
+ optimizer_config = dict(grad_clip=None)
92
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
93
+ total_epochs = 150
94
+ checkpoint_config = dict(interval=1)
95
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
96
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
97
+ dist_params = dict(backend='nccl')
98
+ gpu_ids = range(0, 1)
ntu120_xsub/jm/20231228_223230.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/jm/20231228_223230.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/jm/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:505f1b3dd85f06c4bdd1d0866c6af9d702d798f16dcaa83e75bec75ad86c6f38
3
+ size 37303711
ntu120_xsub/jm/best_top1_acc_epoch_148.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ac6a32805a8fe2c3836908bf1a688ff02d2496bbb5dfc1e9c4ace45a9545de05
3
+ size 35500518
ntu120_xsub/jm/jm.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'jm'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xsub/jm'
4
+ model = dict(
5
+ type='RecognizerGCN_7_1_1',
6
+ backbone=dict(
7
+ type='GCN_7_1_2',
8
+ tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
9
+ graph_cfg=dict(
10
+ layout='nturgb+d',
11
+ mode='random',
12
+ num_filter=8,
13
+ init_off=0.04,
14
+ init_std=0.02)),
15
+ cls_head=dict(type='SimpleHead_7_4_2', num_classes=120, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
22
+ dict(type='GenSkeFeat', feats=['jm']),
23
+ dict(type='UniformSampleDecode', clip_len=100),
24
+ dict(type='FormatGCNInput'),
25
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
26
+ dict(type='ToTensor', keys=['keypoint'])
27
+ ]
28
+ val_pipeline = [
29
+ dict(type='PreNormalize3D', align_spine=False),
30
+ dict(type='GenSkeFeat', feats=['jm']),
31
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
32
+ dict(type='FormatGCNInput'),
33
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
34
+ dict(type='ToTensor', keys=['keypoint'])
35
+ ]
36
+ test_pipeline = [
37
+ dict(type='PreNormalize3D', align_spine=False),
38
+ dict(type='GenSkeFeat', feats=['jm']),
39
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
40
+ dict(type='FormatGCNInput'),
41
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
42
+ dict(type='ToTensor', keys=['keypoint'])
43
+ ]
44
+ data = dict(
45
+ videos_per_gpu=16,
46
+ workers_per_gpu=4,
47
+ test_dataloader=dict(videos_per_gpu=1),
48
+ train=dict(
49
+ type='PoseDataset',
50
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
51
+ pipeline=[
52
+ dict(type='PreNormalize3D', align_spine=False),
53
+ dict(type='RandomRot', theta=0.2),
54
+ dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
55
+ dict(type='GenSkeFeat', feats=['jm']),
56
+ dict(type='UniformSampleDecode', clip_len=100),
57
+ dict(type='FormatGCNInput'),
58
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
59
+ dict(type='ToTensor', keys=['keypoint'])
60
+ ],
61
+ split='xsub_train'),
62
+ val=dict(
63
+ type='PoseDataset',
64
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
65
+ pipeline=[
66
+ dict(type='PreNormalize3D', align_spine=False),
67
+ dict(type='GenSkeFeat', feats=['jm']),
68
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
69
+ dict(type='FormatGCNInput'),
70
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
71
+ dict(type='ToTensor', keys=['keypoint'])
72
+ ],
73
+ split='xsub_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
77
+ pipeline=[
78
+ dict(type='PreNormalize3D', align_spine=False),
79
+ dict(type='GenSkeFeat', feats=['jm']),
80
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
81
+ dict(type='FormatGCNInput'),
82
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
83
+ dict(type='ToTensor', keys=['keypoint'])
84
+ ],
85
+ split='xsub_val'))
86
+ optimizer = dict(
87
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
88
+ optimizer_config = dict(grad_clip=None)
89
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
90
+ total_epochs = 150
91
+ checkpoint_config = dict(interval=1)
92
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
93
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
94
+ dist_params = dict(backend='nccl')
95
+ gpu_ids = range(0, 1)
ntu120_xsub/k_1/20231218_144051.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/k_1/20231218_144051.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/k_1/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:646dafb8f731662a9d4f1bba1c7053d368747e04f22d0a41e8ee981891660b55
3
+ size 37302175
ntu120_xsub/k_1/best_top1_acc_epoch_150.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:94b94e18bb25674831aada966c264e8aab30379a7a32013366b0d5a4a0e48a66
3
+ size 33657382
ntu120_xsub/k_1/k_1.py ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'k'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xsub/k_1'
4
+ model = dict(
5
+ type='RecognizerGCN_7_1_1',
6
+ backbone=dict(
7
+ type='GCN_7_1_1',
8
+ tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
9
+ graph_cfg=dict(
10
+ layout='nturgb+d',
11
+ mode='random',
12
+ num_filter=8,
13
+ init_off=0.04,
14
+ init_std=0.02)),
15
+ cls_head=dict(type='SimpleHead_7_4_1', num_classes=120, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='Part_Drop'),
22
+ dict(type='GenSkeFeat', feats=['k']),
23
+ dict(type='UniformSampleDecode', clip_len=100),
24
+ dict(type='FormatGCNInput'),
25
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
26
+ dict(type='ToTensor', keys=['keypoint'])
27
+ ]
28
+ val_pipeline = [
29
+ dict(type='PreNormalize3D', align_spine=False),
30
+ dict(type='GenSkeFeat', feats=['k']),
31
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
32
+ dict(type='FormatGCNInput'),
33
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
34
+ dict(type='ToTensor', keys=['keypoint'])
35
+ ]
36
+ test_pipeline = [
37
+ dict(type='PreNormalize3D', align_spine=False),
38
+ dict(type='GenSkeFeat', feats=['k']),
39
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
40
+ dict(type='FormatGCNInput'),
41
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
42
+ dict(type='ToTensor', keys=['keypoint'])
43
+ ]
44
+ data = dict(
45
+ videos_per_gpu=16,
46
+ workers_per_gpu=4,
47
+ test_dataloader=dict(videos_per_gpu=1),
48
+ train=dict(
49
+ type='PoseDataset',
50
+ ann_file=
51
+ '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
52
+ pipeline=[
53
+ dict(type='PreNormalize3D', align_spine=False),
54
+ dict(type='RandomRot', theta=0.2),
55
+ dict(type='Part_Drop'),
56
+ dict(type='GenSkeFeat', feats=['k']),
57
+ dict(type='UniformSampleDecode', clip_len=100),
58
+ dict(type='FormatGCNInput'),
59
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
60
+ dict(type='ToTensor', keys=['keypoint'])
61
+ ],
62
+ split='xsub_train'),
63
+ val=dict(
64
+ type='PoseDataset',
65
+ ann_file=
66
+ '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
67
+ pipeline=[
68
+ dict(type='PreNormalize3D', align_spine=False),
69
+ dict(type='GenSkeFeat', feats=['k']),
70
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
71
+ dict(type='FormatGCNInput'),
72
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
73
+ dict(type='ToTensor', keys=['keypoint'])
74
+ ],
75
+ split='xsub_val'),
76
+ test=dict(
77
+ type='PoseDataset',
78
+ ann_file=
79
+ '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
80
+ pipeline=[
81
+ dict(type='PreNormalize3D', align_spine=False),
82
+ dict(type='GenSkeFeat', feats=['k']),
83
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
84
+ dict(type='FormatGCNInput'),
85
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
86
+ dict(type='ToTensor', keys=['keypoint'])
87
+ ],
88
+ split='xsub_val'))
89
+ optimizer = dict(
90
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
91
+ optimizer_config = dict(grad_clip=None)
92
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
93
+ total_epochs = 150
94
+ checkpoint_config = dict(interval=1)
95
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
96
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
97
+ dist_params = dict(backend='nccl')
98
+ gpu_ids = range(0, 1)
ntu120_xsub/k_2/20231227_203500.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/k_2/20231227_203500.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/k_2/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fed796450407ad22e238196b030139878ec6e859724cb10cbd7b157646b2a004
3
+ size 37302443
ntu120_xsub/k_2/best_top1_acc_epoch_142.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2958ce16195b792e225ded5daca8015ca112cca1f3c714002c62325ebe855e98
3
+ size 33657446
ntu120_xsub/k_2/k_2.py ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'k'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xsub/k_2'
4
+ model = dict(
5
+ type='RecognizerGCN_7_1_1',
6
+ backbone=dict(
7
+ type='GCN_7_1_1',
8
+ tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
9
+ graph_cfg=dict(
10
+ layout='nturgb+d',
11
+ mode='random',
12
+ num_filter=8,
13
+ init_off=0.04,
14
+ init_std=0.02)),
15
+ cls_head=dict(type='SimpleHead_7_4_1', num_classes=120, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='Part_Drop'),
22
+ dict(type='GenSkeFeat', feats=['k']),
23
+ dict(type='UniformSampleDecode', clip_len=100),
24
+ dict(type='FormatGCNInput'),
25
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
26
+ dict(type='ToTensor', keys=['keypoint'])
27
+ ]
28
+ val_pipeline = [
29
+ dict(type='PreNormalize3D', align_spine=False),
30
+ dict(type='GenSkeFeat', feats=['k']),
31
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
32
+ dict(type='FormatGCNInput'),
33
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
34
+ dict(type='ToTensor', keys=['keypoint'])
35
+ ]
36
+ test_pipeline = [
37
+ dict(type='PreNormalize3D', align_spine=False),
38
+ dict(type='GenSkeFeat', feats=['k']),
39
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
40
+ dict(type='FormatGCNInput'),
41
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
42
+ dict(type='ToTensor', keys=['keypoint'])
43
+ ]
44
+ data = dict(
45
+ videos_per_gpu=16,
46
+ workers_per_gpu=4,
47
+ test_dataloader=dict(videos_per_gpu=1),
48
+ train=dict(
49
+ type='PoseDataset',
50
+ ann_file=
51
+ '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
52
+ pipeline=[
53
+ dict(type='PreNormalize3D', align_spine=False),
54
+ dict(type='RandomRot', theta=0.2),
55
+ dict(type='Part_Drop'),
56
+ dict(type='GenSkeFeat', feats=['k']),
57
+ dict(type='UniformSampleDecode', clip_len=100),
58
+ dict(type='FormatGCNInput'),
59
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
60
+ dict(type='ToTensor', keys=['keypoint'])
61
+ ],
62
+ split='xsub_train'),
63
+ val=dict(
64
+ type='PoseDataset',
65
+ ann_file=
66
+ '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
67
+ pipeline=[
68
+ dict(type='PreNormalize3D', align_spine=False),
69
+ dict(type='GenSkeFeat', feats=['k']),
70
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
71
+ dict(type='FormatGCNInput'),
72
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
73
+ dict(type='ToTensor', keys=['keypoint'])
74
+ ],
75
+ split='xsub_val'),
76
+ test=dict(
77
+ type='PoseDataset',
78
+ ann_file=
79
+ '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
80
+ pipeline=[
81
+ dict(type='PreNormalize3D', align_spine=False),
82
+ dict(type='GenSkeFeat', feats=['k']),
83
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
84
+ dict(type='FormatGCNInput'),
85
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
86
+ dict(type='ToTensor', keys=['keypoint'])
87
+ ],
88
+ split='xsub_val'))
89
+ optimizer = dict(
90
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
91
+ optimizer_config = dict(grad_clip=None)
92
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
93
+ total_epochs = 150
94
+ checkpoint_config = dict(interval=1)
95
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
96
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
97
+ dist_params = dict(backend='nccl')
98
+ gpu_ids = range(0, 1)
ntu120_xsub/km/20231229_220026.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/km/20231229_220026.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xsub/km/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0f971592e23236123fa23675831724d42380fd450d1d649a8df83004fc9bfa82
3
+ size 37302765
ntu120_xsub/km/best_top1_acc_epoch_146.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:54ba5233029dffa7e9371ae9cea15438ecf4bcd273f00012041126f9aae81eb0
3
+ size 33657318
ntu120_xsub/km/km.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'km'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xsub/km'
4
+ model = dict(
5
+ type='RecognizerGCN_7_1_1',
6
+ backbone=dict(
7
+ type='GCN_7_1_1',
8
+ tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
9
+ graph_cfg=dict(
10
+ layout='nturgb+d',
11
+ mode='random',
12
+ num_filter=8,
13
+ init_off=0.04,
14
+ init_std=0.02)),
15
+ cls_head=dict(type='SimpleHead_7_4_1', num_classes=120, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='Part_Drop'),
22
+ dict(type='GenSkeFeat', feats=['km']),
23
+ dict(type='UniformSampleDecode', clip_len=100),
24
+ dict(type='FormatGCNInput'),
25
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
26
+ dict(type='ToTensor', keys=['keypoint'])
27
+ ]
28
+ val_pipeline = [
29
+ dict(type='PreNormalize3D', align_spine=False),
30
+ dict(type='GenSkeFeat', feats=['km']),
31
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
32
+ dict(type='FormatGCNInput'),
33
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
34
+ dict(type='ToTensor', keys=['keypoint'])
35
+ ]
36
+ test_pipeline = [
37
+ dict(type='PreNormalize3D', align_spine=False),
38
+ dict(type='GenSkeFeat', feats=['km']),
39
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
40
+ dict(type='FormatGCNInput'),
41
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
42
+ dict(type='ToTensor', keys=['keypoint'])
43
+ ]
44
+ data = dict(
45
+ videos_per_gpu=16,
46
+ workers_per_gpu=4,
47
+ test_dataloader=dict(videos_per_gpu=1),
48
+ train=dict(
49
+ type='PoseDataset',
50
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
51
+ pipeline=[
52
+ dict(type='PreNormalize3D', align_spine=False),
53
+ dict(type='RandomRot', theta=0.2),
54
+ dict(type='Part_Drop'),
55
+ dict(type='GenSkeFeat', feats=['km']),
56
+ dict(type='UniformSampleDecode', clip_len=100),
57
+ dict(type='FormatGCNInput'),
58
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
59
+ dict(type='ToTensor', keys=['keypoint'])
60
+ ],
61
+ split='xsub_train'),
62
+ val=dict(
63
+ type='PoseDataset',
64
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
65
+ pipeline=[
66
+ dict(type='PreNormalize3D', align_spine=False),
67
+ dict(type='GenSkeFeat', feats=['km']),
68
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
69
+ dict(type='FormatGCNInput'),
70
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
71
+ dict(type='ToTensor', keys=['keypoint'])
72
+ ],
73
+ split='xsub_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu120_3danno.pkl',
77
+ pipeline=[
78
+ dict(type='PreNormalize3D', align_spine=False),
79
+ dict(type='GenSkeFeat', feats=['km']),
80
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
81
+ dict(type='FormatGCNInput'),
82
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
83
+ dict(type='ToTensor', keys=['keypoint'])
84
+ ],
85
+ split='xsub_val'))
86
+ optimizer = dict(
87
+ type='SGD', lr=0.05, momentum=0.9, weight_decay=0.0005, nesterov=True)
88
+ optimizer_config = dict(grad_clip=None)
89
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
90
+ total_epochs = 150
91
+ checkpoint_config = dict(interval=1)
92
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
93
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
94
+ dist_params = dict(backend='nccl')
95
+ gpu_ids = range(0, 2)
ntu120_xsub/ntu120_xsub_ensemble.py ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from mmcv import load
2
+ import sys
3
+ # Note: please adjust the relative path according to the actual situation.
4
+ sys.path.append('../..')
5
+ from protogcn.smp import *
6
+
7
+
8
+ j_1 = load('j_1/best_pred.pkl')
9
+ b_1 = load('b_1/best_pred.pkl')
10
+ k_1 = load('k_1/best_pred.pkl')
11
+ j_2 = load('j_2/best_pred.pkl')
12
+ b_2 = load('b_2/best_pred.pkl')
13
+ k_2 = load('k_2/best_pred.pkl')
14
+ jm = load('jm/best_pred.pkl')
15
+ bm = load('bm/best_pred.pkl')
16
+ km = load('km/best_pred.pkl')
17
+ label = load_label('/data/nturgbd/ntu120_3danno.pkl', 'xsub_val')
18
+
19
+
20
+ """
21
+ ***************
22
+ InfoGCN v0:
23
+ j jm b bm k km
24
+ 2S: 89.75
25
+ 4S: 89.86
26
+ 6S: 90.44
27
+ ***************
28
+ """
29
+ print('InfoGCN v0:')
30
+ print('j jm b bm k km')
31
+ print('2S')
32
+ fused = comb([j_1, b_1], [1, 1])
33
+ print('Top-1', top1(fused, label))
34
+
35
+ print('4S')
36
+ fused = comb([j_1, b_1, jm, bm], [2, 2, 1, 1])
37
+ print('Top-1', top1(fused, label))
38
+
39
+ print('6S')
40
+ fused = comb([j_1, b_1, k_1, jm, bm, km], [7, 7, 7, 3, 3, 3])
41
+ print('Top-1', top1(fused, label))
42
+
43
+
44
+ """
45
+ ***************
46
+ InfoGCN v1:
47
+ j j b b k k
48
+ 2S: 89.75
49
+ 4S: 90.43
50
+ 6S: 90.92
51
+ ***************
52
+ """
53
+ print('InfoGCN v1:')
54
+ print('j j b b k k')
55
+ print('2S')
56
+ fused = comb([j_1, b_1], [1, 1])
57
+ print('Top-1', top1(fused, label))
58
+
59
+ print('4S')
60
+ fused = comb([j_1, b_1, j_2, b_2], [4, 9, 4, 9])
61
+ print('Top-1', top1(fused, label))
62
+
63
+ print('6S')
64
+ fused = comb([j_1, j_2, b_1, b_2, k_1, k_2], [4, 4, 9, 9, 5, 5])
65
+ print('Top-1', top1(fused, label))