firework8 commited on
Commit
41c63e7
·
verified ·
1 Parent(s): 71ca1c1

Upload 41 files

Browse files
Files changed (41) hide show
  1. ntu60_xview/b_2/20231209_150553.log +0 -0
  2. ntu60_xview/b_2/20231209_150553.log.json +0 -0
  3. ntu60_xview/b_2/b_2.py +93 -0
  4. ntu60_xview/b_2/best_pred.pkl +3 -0
  5. ntu60_xview/b_2/best_top1_acc_epoch_148.pth +3 -0
  6. ntu60_xview/bm/20231224_193011.log +0 -0
  7. ntu60_xview/bm/20231224_193011.log.json +0 -0
  8. ntu60_xview/bm/best_pred.pkl +3 -0
  9. ntu60_xview/bm/best_top1_acc_epoch_139.pth +3 -0
  10. ntu60_xview/bm/bm.py +93 -0
  11. ntu60_xview/j_1/20231227_154044.log +0 -0
  12. ntu60_xview/j_1/20231227_154044.log.json +0 -0
  13. ntu60_xview/j_1/best_pred.pkl +3 -0
  14. ntu60_xview/j_1/best_top1_acc_epoch_145.pth +3 -0
  15. ntu60_xview/j_1/j_1.py +93 -0
  16. ntu60_xview/j_2/20231224_192940.log +0 -0
  17. ntu60_xview/j_2/20231224_192940.log.json +0 -0
  18. ntu60_xview/j_2/best_pred.pkl +3 -0
  19. ntu60_xview/j_2/best_top1_acc_epoch_141.pth +3 -0
  20. ntu60_xview/j_2/j_2.py +93 -0
  21. ntu60_xview/jm/20231224_193022.log +0 -0
  22. ntu60_xview/jm/20231224_193022.log.json +0 -0
  23. ntu60_xview/jm/best_pred.pkl +3 -0
  24. ntu60_xview/jm/best_top1_acc_epoch_149.pth +3 -0
  25. ntu60_xview/jm/jm.py +93 -0
  26. ntu60_xview/k_1/20231227_154059.log +0 -0
  27. ntu60_xview/k_1/20231227_154059.log.json +0 -0
  28. ntu60_xview/k_1/best_pred.pkl +3 -0
  29. ntu60_xview/k_1/best_top1_acc_epoch_145.pth +3 -0
  30. ntu60_xview/k_1/k_1.py +95 -0
  31. ntu60_xview/k_2/20231227_154026.log +0 -0
  32. ntu60_xview/k_2/20231227_154026.log.json +0 -0
  33. ntu60_xview/k_2/best_pred.pkl +3 -0
  34. ntu60_xview/k_2/best_top1_acc_epoch_147.pth +3 -0
  35. ntu60_xview/k_2/k_2.py +95 -0
  36. ntu60_xview/km/20231224_193035.log +0 -0
  37. ntu60_xview/km/20231224_193035.log.json +0 -0
  38. ntu60_xview/km/best_pred.pkl +3 -0
  39. ntu60_xview/km/best_top1_acc_epoch_145.pth +3 -0
  40. ntu60_xview/km/km.py +95 -0
  41. ntu60_xview/ntu60_xview_ensemble.py +65 -0
ntu60_xview/b_2/20231209_150553.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/b_2/20231209_150553.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/b_2/b_2.py ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'b'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu60_xview/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=60, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='GenSkeFeat', feats=['b']),
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=['b']),
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=['b']),
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='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
50
+ pipeline=[
51
+ dict(type='PreNormalize3D', align_spine=False),
52
+ dict(type='RandomRot', theta=0.2),
53
+ dict(type='GenSkeFeat', feats=['b']),
54
+ dict(type='UniformSampleDecode', clip_len=100),
55
+ dict(type='FormatGCNInput'),
56
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
57
+ dict(type='ToTensor', keys=['keypoint'])
58
+ ],
59
+ split='xview_train'),
60
+ val=dict(
61
+ type='PoseDataset',
62
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
63
+ pipeline=[
64
+ dict(type='PreNormalize3D', align_spine=False),
65
+ dict(type='GenSkeFeat', feats=['b']),
66
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
67
+ dict(type='FormatGCNInput'),
68
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
69
+ dict(type='ToTensor', keys=['keypoint'])
70
+ ],
71
+ split='xview_val'),
72
+ test=dict(
73
+ type='PoseDataset',
74
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
75
+ pipeline=[
76
+ dict(type='PreNormalize3D', align_spine=False),
77
+ dict(type='GenSkeFeat', feats=['b']),
78
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
79
+ dict(type='FormatGCNInput'),
80
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
81
+ dict(type='ToTensor', keys=['keypoint'])
82
+ ],
83
+ split='xview_val'))
84
+ optimizer = dict(
85
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
86
+ optimizer_config = dict(grad_clip=None)
87
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
88
+ total_epochs = 150
89
+ checkpoint_config = dict(interval=1)
90
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
91
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
92
+ dist_params = dict(backend='nccl')
93
+ gpu_ids = range(0, 1)
ntu60_xview/b_2/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e034cfe4c881439b1c7f23e26255cdcd93b851e62fba5e2d58b994895df0d35d
3
+ size 7622053
ntu60_xview/b_2/best_top1_acc_epoch_148.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a0b559a3b17ddad1908dec8ffd1c769c8d46b58f1897317bc91f7098dd2778f2
3
+ size 33472486
ntu60_xview/bm/20231224_193011.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/bm/20231224_193011.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/bm/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3a34369d7eda12da401c4b71763f7a169e87aebc94001b131ae2cc40b42b7112
3
+ size 7623135
ntu60_xview/bm/best_top1_acc_epoch_139.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3dba64661aebf7b198f84f589fbb250e405e155add8cfd7595fd0714abf181bc
3
+ size 33472486
ntu60_xview/bm/bm.py ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'bm'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu60_xview/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=60, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
18
+ train_pipeline = [
19
+ dict(type='PreNormalize3D', align_spine=False),
20
+ dict(type='RandomRot', theta=0.2),
21
+ dict(type='GenSkeFeat', feats=['bm']),
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=['bm']),
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=['bm']),
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='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
50
+ pipeline=[
51
+ dict(type='PreNormalize3D', align_spine=False),
52
+ dict(type='RandomRot', theta=0.2),
53
+ dict(type='GenSkeFeat', feats=['bm']),
54
+ dict(type='UniformSampleDecode', clip_len=100),
55
+ dict(type='FormatGCNInput'),
56
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
57
+ dict(type='ToTensor', keys=['keypoint'])
58
+ ],
59
+ split='xview_train'),
60
+ val=dict(
61
+ type='PoseDataset',
62
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
63
+ pipeline=[
64
+ dict(type='PreNormalize3D', align_spine=False),
65
+ dict(type='GenSkeFeat', feats=['bm']),
66
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
67
+ dict(type='FormatGCNInput'),
68
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
69
+ dict(type='ToTensor', keys=['keypoint'])
70
+ ],
71
+ split='xview_val'),
72
+ test=dict(
73
+ type='PoseDataset',
74
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
75
+ pipeline=[
76
+ dict(type='PreNormalize3D', align_spine=False),
77
+ dict(type='GenSkeFeat', feats=['bm']),
78
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
79
+ dict(type='FormatGCNInput'),
80
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
81
+ dict(type='ToTensor', keys=['keypoint'])
82
+ ],
83
+ split='xview_val'))
84
+ optimizer = dict(
85
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
86
+ optimizer_config = dict(grad_clip=None)
87
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
88
+ total_epochs = 150
89
+ checkpoint_config = dict(interval=1)
90
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
91
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
92
+ dist_params = dict(backend='nccl')
93
+ gpu_ids = range(0, 1)
ntu60_xview/j_1/20231227_154044.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/j_1/20231227_154044.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/j_1/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0774e5049a5b3cffb1b7d174a7902060457cc7ca4125618a3d8bc447d0543f7e
3
+ size 7622891
ntu60_xview/j_1/best_top1_acc_epoch_145.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:576e5287e7b630b385e7539566dc0cee1d6093282d21e5d12a59482b01f88b1b
3
+ size 35315686
ntu60_xview/j_1/j_1.py ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'j'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu60_xview/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=60, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_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='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
50
+ pipeline=[
51
+ dict(type='PreNormalize3D', align_spine=False),
52
+ dict(type='RandomRot', theta=0.2),
53
+ dict(type='GenSkeFeat', feats=['j']),
54
+ dict(type='UniformSampleDecode', clip_len=100),
55
+ dict(type='FormatGCNInput'),
56
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
57
+ dict(type='ToTensor', keys=['keypoint'])
58
+ ],
59
+ split='xview_train'),
60
+ val=dict(
61
+ type='PoseDataset',
62
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
63
+ pipeline=[
64
+ dict(type='PreNormalize3D', align_spine=False),
65
+ dict(type='GenSkeFeat', feats=['j']),
66
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
67
+ dict(type='FormatGCNInput'),
68
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
69
+ dict(type='ToTensor', keys=['keypoint'])
70
+ ],
71
+ split='xview_val'),
72
+ test=dict(
73
+ type='PoseDataset',
74
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
75
+ pipeline=[
76
+ dict(type='PreNormalize3D', align_spine=False),
77
+ dict(type='GenSkeFeat', feats=['j']),
78
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
79
+ dict(type='FormatGCNInput'),
80
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
81
+ dict(type='ToTensor', keys=['keypoint'])
82
+ ],
83
+ split='xview_val'))
84
+ optimizer = dict(
85
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
86
+ optimizer_config = dict(grad_clip=None)
87
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
88
+ total_epochs = 150
89
+ checkpoint_config = dict(interval=1)
90
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
91
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
92
+ dist_params = dict(backend='nccl')
93
+ gpu_ids = range(0, 1)
ntu60_xview/j_2/20231224_192940.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/j_2/20231224_192940.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/j_2/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ff103f0cd3bd2454b1dc33ae7dd6867cf0e6b1feb6bb9b2783423b69b0f3f038
3
+ size 7622150
ntu60_xview/j_2/best_top1_acc_epoch_141.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:da876749f60ac3367f94417d555b993b9382814c0aeab35962552eb72181fa74
3
+ size 35315686
ntu60_xview/j_2/j_2.py ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'j'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu60_xview/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=60, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_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='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
50
+ pipeline=[
51
+ dict(type='PreNormalize3D', align_spine=False),
52
+ dict(type='RandomRot', theta=0.2),
53
+ dict(type='GenSkeFeat', feats=['j']),
54
+ dict(type='UniformSampleDecode', clip_len=100),
55
+ dict(type='FormatGCNInput'),
56
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
57
+ dict(type='ToTensor', keys=['keypoint'])
58
+ ],
59
+ split='xview_train'),
60
+ val=dict(
61
+ type='PoseDataset',
62
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
63
+ pipeline=[
64
+ dict(type='PreNormalize3D', align_spine=False),
65
+ dict(type='GenSkeFeat', feats=['j']),
66
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
67
+ dict(type='FormatGCNInput'),
68
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
69
+ dict(type='ToTensor', keys=['keypoint'])
70
+ ],
71
+ split='xview_val'),
72
+ test=dict(
73
+ type='PoseDataset',
74
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
75
+ pipeline=[
76
+ dict(type='PreNormalize3D', align_spine=False),
77
+ dict(type='GenSkeFeat', feats=['j']),
78
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
79
+ dict(type='FormatGCNInput'),
80
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
81
+ dict(type='ToTensor', keys=['keypoint'])
82
+ ],
83
+ split='xview_val'))
84
+ optimizer = dict(
85
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
86
+ optimizer_config = dict(grad_clip=None)
87
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
88
+ total_epochs = 150
89
+ checkpoint_config = dict(interval=1)
90
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
91
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
92
+ dist_params = dict(backend='nccl')
93
+ gpu_ids = range(0, 1)
ntu60_xview/jm/20231224_193022.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/jm/20231224_193022.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/jm/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:66f3bb6c194c3b00688da5e4a942281ae9900ea9467d2b69996eca2cd37661ae
3
+ size 7624332
ntu60_xview/jm/best_top1_acc_epoch_149.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19ad1b76408427507ba0460040b8a15d06abba79603cff2bcbfca9eb1e90f1f3
3
+ size 35315686
ntu60_xview/jm/jm.py ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'jm'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu60_xview/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=60, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_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='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
50
+ pipeline=[
51
+ dict(type='PreNormalize3D', align_spine=False),
52
+ dict(type='RandomRot', theta=0.2),
53
+ dict(type='GenSkeFeat', feats=['jm']),
54
+ dict(type='UniformSampleDecode', clip_len=100),
55
+ dict(type='FormatGCNInput'),
56
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
57
+ dict(type='ToTensor', keys=['keypoint'])
58
+ ],
59
+ split='xview_train'),
60
+ val=dict(
61
+ type='PoseDataset',
62
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
63
+ pipeline=[
64
+ dict(type='PreNormalize3D', align_spine=False),
65
+ dict(type='GenSkeFeat', feats=['jm']),
66
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
67
+ dict(type='FormatGCNInput'),
68
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
69
+ dict(type='ToTensor', keys=['keypoint'])
70
+ ],
71
+ split='xview_val'),
72
+ test=dict(
73
+ type='PoseDataset',
74
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
75
+ pipeline=[
76
+ dict(type='PreNormalize3D', align_spine=False),
77
+ dict(type='GenSkeFeat', feats=['jm']),
78
+ dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
79
+ dict(type='FormatGCNInput'),
80
+ dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
81
+ dict(type='ToTensor', keys=['keypoint'])
82
+ ],
83
+ split='xview_val'))
84
+ optimizer = dict(
85
+ type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
86
+ optimizer_config = dict(grad_clip=None)
87
+ lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
88
+ total_epochs = 150
89
+ checkpoint_config = dict(interval=1)
90
+ evaluation = dict(interval=1, metrics=['top_k_accuracy'])
91
+ log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
92
+ dist_params = dict(backend='nccl')
93
+ gpu_ids = range(0, 1)
ntu60_xview/k_1/20231227_154059.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/k_1/20231227_154059.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/k_1/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:39857ed408fb9d8bc01f57e1a2b1cb11f15c977e36b619e532991b423b237f92
3
+ size 7621133
ntu60_xview/k_1/best_top1_acc_epoch_145.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2e626a8b75d81b97690b5dbf8899b64c15977fa1d9d1f894dae1bb914c39f03a
3
+ size 33472486
ntu60_xview/k_1/k_1.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'k'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu60_xview/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=60, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_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='/data/lhd/pyskl_data/nturgbd/ntu60_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=['k']),
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='xview_train'),
62
+ val=dict(
63
+ type='PoseDataset',
64
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
65
+ pipeline=[
66
+ dict(type='PreNormalize3D', align_spine=False),
67
+ dict(type='GenSkeFeat', feats=['k']),
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='xview_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
77
+ pipeline=[
78
+ dict(type='PreNormalize3D', align_spine=False),
79
+ dict(type='GenSkeFeat', feats=['k']),
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='xview_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)
ntu60_xview/k_2/20231227_154026.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/k_2/20231227_154026.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/k_2/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d645501b9dac84f9da25574b54a2f0fdfafabbe6c93451db11e294b3667dfab0
3
+ size 7622841
ntu60_xview/k_2/best_top1_acc_epoch_147.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5cff77b348e85f8688c7ab6d085921c792f6fffb9b6722724fd807b7b159709f
3
+ size 33472486
ntu60_xview/k_2/k_2.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'k'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu60_xview/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=60, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_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='/data/lhd/pyskl_data/nturgbd/ntu60_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=['k']),
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='xview_train'),
62
+ val=dict(
63
+ type='PoseDataset',
64
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
65
+ pipeline=[
66
+ dict(type='PreNormalize3D', align_spine=False),
67
+ dict(type='GenSkeFeat', feats=['k']),
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='xview_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
77
+ pipeline=[
78
+ dict(type='PreNormalize3D', align_spine=False),
79
+ dict(type='GenSkeFeat', feats=['k']),
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='xview_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)
ntu60_xview/km/20231224_193035.log ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/km/20231224_193035.log.json ADDED
The diff for this file is too large to render. See raw diff
 
ntu60_xview/km/best_pred.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:40dc4cdc42e5451f4770fea8653ef782bfbd8663f0883086553b4ad7d0adce10
3
+ size 7621999
ntu60_xview/km/best_top1_acc_epoch_145.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9a0b04085f59bbcc1f350916f17d96f6bae9d9aa6b1d78dd5ab3973c346528cf
3
+ size 33472486
ntu60_xview/km/km.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modality = 'km'
2
+ graph = 'nturgb+d'
3
+ work_dir = './work_dirs/test_prototype/ntu60_xview/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=60, in_channels=384))
16
+ dataset_type = 'PoseDataset'
17
+ ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_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/ntu60_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='xview_train'),
62
+ val=dict(
63
+ type='PoseDataset',
64
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xview_val'),
74
+ test=dict(
75
+ type='PoseDataset',
76
+ ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xview_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)
ntu60_xview/ntu60_xview_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/ntu60_3danno.pkl', 'xview_val')
18
+
19
+
20
+ """
21
+ ***************
22
+ InfoGCN v0:
23
+ j jm b bm k km
24
+ 2S: 97.23
25
+ 4S: 97.42
26
+ 6S: 97.67
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], [5, 5, 5, 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: 97.23
49
+ 4S: 97.49
50
+ 6S: 97.76
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, 2, 2])
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], [5, 5, 6, 6, 6, 6])
65
+ print('Top-1', top1(fused, label))