Upload 41 files
Browse files- ntu120_xset/b_2/20231223_131341.log +0 -0
- ntu120_xset/b_2/20231223_131341.log.json +0 -0
- ntu120_xset/b_2/b_2.py +98 -0
- ntu120_xset/b_2/best_pred.pkl +3 -0
- ntu120_xset/b_2/best_top1_acc_epoch_146.pth +3 -0
- ntu120_xset/bm/20231223_131657.log +0 -0
- ntu120_xset/bm/20231223_131657.log.json +0 -0
- ntu120_xset/bm/best_pred.pkl +3 -0
- ntu120_xset/bm/best_top1_acc_epoch_143.pth +3 -0
- ntu120_xset/bm/bm.py +98 -0
- ntu120_xset/j_1/20231223_131457.log +0 -0
- ntu120_xset/j_1/20231223_131457.log.json +0 -0
- ntu120_xset/j_1/best_pred.pkl +3 -0
- ntu120_xset/j_1/best_top1_acc_epoch_148.pth +3 -0
- ntu120_xset/j_1/j_1.py +96 -0
- ntu120_xset/j_2/20240920_162944.log +0 -0
- ntu120_xset/j_2/20240920_162944.log.json +0 -0
- ntu120_xset/j_2/best_pred.pkl +3 -0
- ntu120_xset/j_2/best_top1_acc_epoch_150.pth +3 -0
- ntu120_xset/j_2/j_2.py +96 -0
- ntu120_xset/jm/20231223_131708.log +0 -0
- ntu120_xset/jm/20231223_131708.log.json +0 -0
- ntu120_xset/jm/best_pred.pkl +3 -0
- ntu120_xset/jm/best_top1_acc_epoch_150.pth +3 -0
- ntu120_xset/jm/jm.py +96 -0
- ntu120_xset/k_1/20231223_131509.log +0 -0
- ntu120_xset/k_1/20231223_131509.log.json +0 -0
- ntu120_xset/k_1/best_pred.pkl +3 -0
- ntu120_xset/k_1/best_top1_acc_epoch_147.pth +3 -0
- ntu120_xset/k_1/k_1.py +98 -0
- ntu120_xset/k_2/20231225_153958.log +0 -0
- ntu120_xset/k_2/20231225_153958.log.json +0 -0
- ntu120_xset/k_2/best_pred.pkl +3 -0
- ntu120_xset/k_2/best_top1_acc_epoch_141.pth +3 -0
- ntu120_xset/k_2/k_2.py +98 -0
- ntu120_xset/km/20231223_131720.log +0 -0
- ntu120_xset/km/20231223_131720.log.json +0 -0
- ntu120_xset/km/best_pred.pkl +3 -0
- ntu120_xset/km/best_top1_acc_epoch_145.pth +3 -0
- ntu120_xset/km/km.py +98 -0
- 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))
|