firework8 commited on
Commit
249a005
·
verified ·
1 Parent(s): 5d1f12c

Upload 41 files

Browse files
Files changed (41) hide show
  1. ntu120_xset/b_2/20231223_131341.log +0 -0
  2. ntu120_xset/b_2/20231223_131341.log.json +0 -0
  3. ntu120_xset/b_2/b_2.py +98 -0
  4. ntu120_xset/b_2/best_pred.pkl +3 -0
  5. ntu120_xset/b_2/best_top1_acc_epoch_146.pth +3 -0
  6. ntu120_xset/bm/20231223_131657.log +0 -0
  7. ntu120_xset/bm/20231223_131657.log.json +0 -0
  8. ntu120_xset/bm/best_pred.pkl +3 -0
  9. ntu120_xset/bm/best_top1_acc_epoch_143.pth +3 -0
  10. ntu120_xset/bm/bm.py +98 -0
  11. ntu120_xset/j_1/20231223_131457.log +0 -0
  12. ntu120_xset/j_1/20231223_131457.log.json +0 -0
  13. ntu120_xset/j_1/best_pred.pkl +3 -0
  14. ntu120_xset/j_1/best_top1_acc_epoch_148.pth +3 -0
  15. ntu120_xset/j_1/j_1.py +96 -0
  16. ntu120_xset/j_2/20240920_162944.log +0 -0
  17. ntu120_xset/j_2/20240920_162944.log.json +0 -0
  18. ntu120_xset/j_2/best_pred.pkl +3 -0
  19. ntu120_xset/j_2/best_top1_acc_epoch_150.pth +3 -0
  20. ntu120_xset/j_2/j_2.py +96 -0
  21. ntu120_xset/jm/20231223_131708.log +0 -0
  22. ntu120_xset/jm/20231223_131708.log.json +0 -0
  23. ntu120_xset/jm/best_pred.pkl +3 -0
  24. ntu120_xset/jm/best_top1_acc_epoch_150.pth +3 -0
  25. ntu120_xset/jm/jm.py +96 -0
  26. ntu120_xset/k_1/20231223_131509.log +0 -0
  27. ntu120_xset/k_1/20231223_131509.log.json +0 -0
  28. ntu120_xset/k_1/best_pred.pkl +3 -0
  29. ntu120_xset/k_1/best_top1_acc_epoch_147.pth +3 -0
  30. ntu120_xset/k_1/k_1.py +98 -0
  31. ntu120_xset/k_2/20231225_153958.log +0 -0
  32. ntu120_xset/k_2/20231225_153958.log.json +0 -0
  33. ntu120_xset/k_2/best_pred.pkl +3 -0
  34. ntu120_xset/k_2/best_top1_acc_epoch_141.pth +3 -0
  35. ntu120_xset/k_2/k_2.py +98 -0
  36. ntu120_xset/km/20231223_131720.log +0 -0
  37. ntu120_xset/km/20231223_131720.log.json +0 -0
  38. ntu120_xset/km/best_pred.pkl +3 -0
  39. ntu120_xset/km/best_top1_acc_epoch_145.pth +3 -0
  40. ntu120_xset/km/km.py +98 -0
  41. ntu120_xset/ntu120_xset_ensemble.py +65 -0
ntu120_xset/b_2/20231223_131341.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/b_2/20231223_131341.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/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_xset/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/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=['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/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=['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='xset_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=['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='xset_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=['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='xset_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_xset/b_2/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dfaa02fa3fb1bc5134b5b0f6de9219975e409c9f041d4226192922507ace2990
3
+ size 43573230
ntu120_xset/b_2/best_top1_acc_epoch_146.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e13da8ef8b5f82da4828d0d91a69e9e2ef2863c81164bea7eadb096576d36a7
3
+ size 33657446
ntu120_xset/bm/20231223_131657.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/bm/20231223_131657.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/bm/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:84e82de920e8e276b637c9dd2d61271cfc4cbea0622a11a0e779802a9f89805b
3
+ size 43572354
ntu120_xset/bm/best_top1_acc_epoch_143.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:99b3cdcf1a5deb1f0181dcb2d4d6dc93535858667c993a4be2ffdaba3230fd44
3
+ size 33657446
ntu120_xset/bm/bm.py ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'bm'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xset/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 = '/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=['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=
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=['bm']),
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='xset_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=['bm']),
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='xset_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=['bm']),
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='xset_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_xset/j_1/20231223_131457.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/j_1/20231223_131457.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/j_1/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:126365b090ae8a5eac0cf90455a29a069a0d6cba522394fefef5351aeffb7c27
3
+ size 43571998
ntu120_xset/j_1/best_top1_acc_epoch_148.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4dab6f329ff8cb3a401402e51bd9c8be0f0ae0e652e0015ab100fa281205b50d
3
+ size 35500646
ntu120_xset/j_1/j_1.py ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'j'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xset/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 = '/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='GenSkeFeat', feats=['j']),
22
+ dict(type='UniformSampleDecode', clip_len=100),
23
+ dict(type='FormatGCNInput'),
24
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
25
+ dict(type='ToTensor', keys=['keypoint'])
26
+ ]
27
+ val_pipeline = [
28
+ dict(type='PreNormalize3D', align_spine=False),
29
+ dict(type='GenSkeFeat', feats=['j']),
30
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
31
+ dict(type='FormatGCNInput'),
32
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
33
+ dict(type='ToTensor', keys=['keypoint'])
34
+ ]
35
+ test_pipeline = [
36
+ dict(type='PreNormalize3D', align_spine=False),
37
+ dict(type='GenSkeFeat', feats=['j']),
38
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
39
+ dict(type='FormatGCNInput'),
40
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
41
+ dict(type='ToTensor', keys=['keypoint'])
42
+ ]
43
+ data = dict(
44
+ videos_per_gpu=16,
45
+ workers_per_gpu=4,
46
+ test_dataloader=dict(videos_per_gpu=1),
47
+ train=dict(
48
+ type='PoseDataset',
49
+ ann_file=
50
+ '/data1/medical/hao.wang/reproduction/hongda.liu/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='GenSkeFeat', feats=['j']),
55
+ dict(type='UniformSampleDecode', clip_len=100),
56
+ dict(type='FormatGCNInput'),
57
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
58
+ dict(type='ToTensor', keys=['keypoint'])
59
+ ],
60
+ split='xset_train'),
61
+ val=dict(
62
+ type='PoseDataset',
63
+ ann_file=
64
+ '/data1/medical/hao.wang/reproduction/hongda.liu/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='xset_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file=
77
+ '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
78
+ pipeline=[
79
+ dict(type='PreNormalize3D', align_spine=False),
80
+ dict(type='GenSkeFeat', feats=['j']),
81
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
82
+ dict(type='FormatGCNInput'),
83
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
84
+ dict(type='ToTensor', keys=['keypoint'])
85
+ ],
86
+ split='xset_val'))
87
+ optimizer = dict(
88
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
89
+ optimizer_config = dict(grad_clip=None)
90
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
91
+ total_epochs = 150
92
+ checkpoint_config = dict(interval=1)
93
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
94
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
95
+ dist_params = dict(backend='nccl')
96
+ gpu_ids = range(0, 1)
ntu120_xset/j_2/20240920_162944.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/j_2/20240920_162944.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/j_2/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3377e356f45a027015f662cc8e603d0888c734c96606f538344510640ed7d175
3
+ size 43568628
ntu120_xset/j_2/best_top1_acc_epoch_150.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:59021245430269bf2817118569fa1a227af07105c6bfccf0a17a7ebc3bb0e304
3
+ size 35500646
ntu120_xset/j_2/j_2.py ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'j'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xset/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/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='GenSkeFeat', feats=['j']),
22
+ dict(type='UniformSampleDecode', clip_len=100),
23
+ dict(type='FormatGCNInput'),
24
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
25
+ dict(type='ToTensor', keys=['keypoint'])
26
+ ]
27
+ val_pipeline = [
28
+ dict(type='PreNormalize3D', align_spine=False),
29
+ dict(type='GenSkeFeat', feats=['j']),
30
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
31
+ dict(type='FormatGCNInput'),
32
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
33
+ dict(type='ToTensor', keys=['keypoint'])
34
+ ]
35
+ test_pipeline = [
36
+ dict(type='PreNormalize3D', align_spine=False),
37
+ dict(type='GenSkeFeat', feats=['j']),
38
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
39
+ dict(type='FormatGCNInput'),
40
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
41
+ dict(type='ToTensor', keys=['keypoint'])
42
+ ]
43
+ data = dict(
44
+ videos_per_gpu=16,
45
+ workers_per_gpu=4,
46
+ test_dataloader=dict(videos_per_gpu=1),
47
+ train=dict(
48
+ type='PoseDataset',
49
+ ann_file=
50
+ '/data1/hao.wang/reproducation/hongda.liu/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='GenSkeFeat', feats=['j']),
55
+ dict(type='UniformSampleDecode', clip_len=100),
56
+ dict(type='FormatGCNInput'),
57
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
58
+ dict(type='ToTensor', keys=['keypoint'])
59
+ ],
60
+ split='xset_train'),
61
+ val=dict(
62
+ type='PoseDataset',
63
+ ann_file=
64
+ '/data1/hao.wang/reproducation/hongda.liu/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='xset_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file=
77
+ '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
78
+ pipeline=[
79
+ dict(type='PreNormalize3D', align_spine=False),
80
+ dict(type='GenSkeFeat', feats=['j']),
81
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
82
+ dict(type='FormatGCNInput'),
83
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
84
+ dict(type='ToTensor', keys=['keypoint'])
85
+ ],
86
+ split='xset_val'))
87
+ optimizer = dict(
88
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
89
+ optimizer_config = dict(grad_clip=None)
90
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
91
+ total_epochs = 150
92
+ checkpoint_config = dict(interval=1)
93
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
94
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
95
+ dist_params = dict(backend='nccl')
96
+ gpu_ids = range(0, 1)
ntu120_xset/jm/20231223_131708.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/jm/20231223_131708.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/jm/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ef6c9719f76e4b2b071859717826ce53f3bb9683bf4ffca7b2183b6f373e7128
3
+ size 43572115
ntu120_xset/jm/best_top1_acc_epoch_150.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:41c426eab0e26b5dfda66b4a16d6a1e1a771e3f13052f181f6ad33531ca1f802
3
+ size 35500646
ntu120_xset/jm/jm.py ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'jm'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xset/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 = '/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='GenSkeFeat', feats=['jm']),
22
+ dict(type='UniformSampleDecode', clip_len=100),
23
+ dict(type='FormatGCNInput'),
24
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
25
+ dict(type='ToTensor', keys=['keypoint'])
26
+ ]
27
+ val_pipeline = [
28
+ dict(type='PreNormalize3D', align_spine=False),
29
+ dict(type='GenSkeFeat', feats=['jm']),
30
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
31
+ dict(type='FormatGCNInput'),
32
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
33
+ dict(type='ToTensor', keys=['keypoint'])
34
+ ]
35
+ test_pipeline = [
36
+ dict(type='PreNormalize3D', align_spine=False),
37
+ dict(type='GenSkeFeat', feats=['jm']),
38
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
39
+ dict(type='FormatGCNInput'),
40
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
41
+ dict(type='ToTensor', keys=['keypoint'])
42
+ ]
43
+ data = dict(
44
+ videos_per_gpu=16,
45
+ workers_per_gpu=4,
46
+ test_dataloader=dict(videos_per_gpu=1),
47
+ train=dict(
48
+ type='PoseDataset',
49
+ ann_file=
50
+ '/data1/medical/hao.wang/reproduction/hongda.liu/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='GenSkeFeat', feats=['jm']),
55
+ dict(type='UniformSampleDecode', clip_len=100),
56
+ dict(type='FormatGCNInput'),
57
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
58
+ dict(type='ToTensor', keys=['keypoint'])
59
+ ],
60
+ split='xset_train'),
61
+ val=dict(
62
+ type='PoseDataset',
63
+ ann_file=
64
+ '/data1/medical/hao.wang/reproduction/hongda.liu/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='xset_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file=
77
+ '/data1/medical/hao.wang/reproduction/hongda.liu/pyskl_data/nturgbd/ntu120_3danno.pkl',
78
+ pipeline=[
79
+ dict(type='PreNormalize3D', align_spine=False),
80
+ dict(type='GenSkeFeat', feats=['jm']),
81
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
82
+ dict(type='FormatGCNInput'),
83
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
84
+ dict(type='ToTensor', keys=['keypoint'])
85
+ ],
86
+ split='xset_val'))
87
+ optimizer = dict(
88
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
89
+ optimizer_config = dict(grad_clip=None)
90
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
91
+ total_epochs = 150
92
+ checkpoint_config = dict(interval=1)
93
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
94
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
95
+ dist_params = dict(backend='nccl')
96
+ gpu_ids = range(0, 1)
ntu120_xset/k_1/20231223_131509.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/k_1/20231223_131509.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/k_1/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f8239ec803a9d92f6a6f02e89e2990ed5d4dd271498adcc33e258151f221fcbe
3
+ size 43579216
ntu120_xset/k_1/best_top1_acc_epoch_147.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:73b983ca1c1a18c12c55d3c0f087bdb94d18b0a2d09f72ca5484fec40530ffe6
3
+ size 33657446
ntu120_xset/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_xset/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/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=['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='Spatial_Flip', dataset='nturgb+d', p=0.5),
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='xset_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='xset_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='xset_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_xset/k_2/20231225_153958.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/k_2/20231225_153958.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/k_2/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b1d24c3519eada59fee1212973ae976667120a3cafae0c030cfb4b568f6e76c
3
+ size 43571933
ntu120_xset/k_2/best_top1_acc_epoch_141.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:762a2f5c5e3da3575ee54d08625a4aa4e6bf9fb8ec2fb8920c73fe81be791962
3
+ size 33657446
ntu120_xset/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_xset/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='Spatial_Flip', dataset='nturgb+d', p=0.5),
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='Spatial_Flip', dataset='nturgb+d', p=0.5),
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='xset_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='xset_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='xset_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_xset/km/20231223_131720.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/km/20231223_131720.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu120_xset/km/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9f7636d736c05e624059b72783e8beca8ee8ba9c2539b40663e1e37babf8a783
3
+ size 43570624
ntu120_xset/km/best_top1_acc_epoch_145.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c2833e283aa25a0a74612a856744e8d9504c71bb93c0678c7f6cc92a7c1a6f0f
3
+ size 33657446
ntu120_xset/km/km.py ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'km'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu120_xset/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 = '/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=['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=
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=['km']),
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='xset_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=['km']),
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='xset_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=['km']),
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='xset_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_xset/ntu120_xset_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', 'xset_val')
18
+
19
+
20
+ """
21
+ ***************
22
+ InfoGCN v0:
23
+ j jm b bm k km
24
+ 2S: 91.23
25
+ 4S: 91.51
26
+ 6S: 91.89
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], [3, 3, 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], [3, 3, 3, 1, 1, 1])
41
+ print('Top-1', top1(fused, label))
42
+
43
+
44
+ """
45
+ ***************
46
+ InfoGCN v1:
47
+ j j b b k k
48
+ 2S: 91.23
49
+ 4S: 91.86
50
+ 6S: 92.16
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], [1, 1, 1, 1])
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], [7, 7, 8, 8, 5, 5])
65
+ print('Top-1', top1(fused, label))