Upload 41 files
Browse files- ntu60_xview/b_2/20231209_150553.log +0 -0
- ntu60_xview/b_2/20231209_150553.log.json +0 -0
- ntu60_xview/b_2/b_2.py +93 -0
- ntu60_xview/b_2/best_pred.pkl +3 -0
- ntu60_xview/b_2/best_top1_acc_epoch_148.pth +3 -0
- ntu60_xview/bm/20231224_193011.log +0 -0
- ntu60_xview/bm/20231224_193011.log.json +0 -0
- ntu60_xview/bm/best_pred.pkl +3 -0
- ntu60_xview/bm/best_top1_acc_epoch_139.pth +3 -0
- ntu60_xview/bm/bm.py +93 -0
- ntu60_xview/j_1/20231227_154044.log +0 -0
- ntu60_xview/j_1/20231227_154044.log.json +0 -0
- ntu60_xview/j_1/best_pred.pkl +3 -0
- ntu60_xview/j_1/best_top1_acc_epoch_145.pth +3 -0
- ntu60_xview/j_1/j_1.py +93 -0
- ntu60_xview/j_2/20231224_192940.log +0 -0
- ntu60_xview/j_2/20231224_192940.log.json +0 -0
- ntu60_xview/j_2/best_pred.pkl +3 -0
- ntu60_xview/j_2/best_top1_acc_epoch_141.pth +3 -0
- ntu60_xview/j_2/j_2.py +93 -0
- ntu60_xview/jm/20231224_193022.log +0 -0
- ntu60_xview/jm/20231224_193022.log.json +0 -0
- ntu60_xview/jm/best_pred.pkl +3 -0
- ntu60_xview/jm/best_top1_acc_epoch_149.pth +3 -0
- ntu60_xview/jm/jm.py +93 -0
- ntu60_xview/k_1/20231227_154059.log +0 -0
- ntu60_xview/k_1/20231227_154059.log.json +0 -0
- ntu60_xview/k_1/best_pred.pkl +3 -0
- ntu60_xview/k_1/best_top1_acc_epoch_145.pth +3 -0
- ntu60_xview/k_1/k_1.py +95 -0
- ntu60_xview/k_2/20231227_154026.log +0 -0
- ntu60_xview/k_2/20231227_154026.log.json +0 -0
- ntu60_xview/k_2/best_pred.pkl +3 -0
- ntu60_xview/k_2/best_top1_acc_epoch_147.pth +3 -0
- ntu60_xview/k_2/k_2.py +95 -0
- ntu60_xview/km/20231224_193035.log +0 -0
- ntu60_xview/km/20231224_193035.log.json +0 -0
- ntu60_xview/km/best_pred.pkl +3 -0
- ntu60_xview/km/best_top1_acc_epoch_145.pth +3 -0
- ntu60_xview/km/km.py +95 -0
- 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))
|