Upload 31 files
Browse files- finegym/finegym_ensemble.py +65 -0
- finegym/j_1/20231211_012214.log +0 -0
- finegym/j_1/20231211_012214.log.json +0 -0
- finegym/j_1/best_pred.pkl +3 -0
- finegym/j_1/best_top1_acc_epoch_141.pth +3 -0
- finegym/j_1/j_1.py +110 -0
- finegym/j_2/20231224_082026.log +0 -0
- finegym/j_2/20231224_082026.log.json +0 -0
- finegym/j_2/best_pred.pkl +3 -0
- finegym/j_2/best_top1_acc_epoch_139.pth +3 -0
- finegym/j_2/j_2.py +110 -0
- finegym/jm/20231223_050822.log +0 -0
- finegym/jm/20231223_050822.log.json +0 -0
- finegym/jm/best_pred.pkl +3 -0
- finegym/jm/best_top1_acc_epoch_133.pth +3 -0
- finegym/jm/jm.py +110 -0
- finegym/k_1/20231224_082045.log +0 -0
- finegym/k_1/20231224_082045.log.json +0 -0
- finegym/k_1/best_pred.pkl +3 -0
- finegym/k_1/best_top1_acc_epoch_141.pth +3 -0
- finegym/k_1/k_1.py +110 -0
- finegym/k_2/20231223_050754.log +0 -0
- finegym/k_2/20231223_050754.log.json +0 -0
- finegym/k_2/best_pred.pkl +3 -0
- finegym/k_2/best_top1_acc_epoch_146.pth +3 -0
- finegym/k_2/k_2.py +110 -0
- finegym/km/20231224_081954.log +0 -0
- finegym/km/20231224_081954.log.json +0 -0
- finegym/km/best_pred.pkl +3 -0
- finegym/km/best_top1_acc_epoch_146.pth +3 -0
- finegym/km/km.py +110 -0
finegym/finegym_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/finegym/gym_hrnet.pkl', 'val')
|
18 |
+
|
19 |
+
|
20 |
+
"""
|
21 |
+
***************
|
22 |
+
InfoGCN v0:
|
23 |
+
j jm b bm k km
|
24 |
+
2S: 95.35
|
25 |
+
4S: 95.92
|
26 |
+
6S: 95.92
|
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], [2, 2, 0, 1, 1, 0])
|
41 |
+
print('Top-1', top1(fused, label))
|
42 |
+
|
43 |
+
|
44 |
+
"""
|
45 |
+
***************
|
46 |
+
InfoGCN v1:
|
47 |
+
j j b b k k
|
48 |
+
2S: 95.35
|
49 |
+
4S: 95.62
|
50 |
+
6S: 95.94
|
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], [5, 5, 5, 5, 4, 4])
|
65 |
+
print('Top-1', top1(fused, label))
|
finegym/j_1/20231211_012214.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/j_1/20231211_012214.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/j_1/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:cdd8f339d11c8287cd01cdc79f41e4cffe9fc67bc414350a59578faab38b7433
|
3 |
+
size 5256274
|
finegym/j_1/best_top1_acc_epoch_141.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:cf64e0df251c6d5ddba56c5fb3e68d31007580ad22d5fff2f43c0feaa9333ce1
|
3 |
+
size 32988198
|
finegym/j_1/j_1.py
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'j'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/finegym/j_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='coco_new',
|
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_13', num_classes=99, in_channels=384))
|
16 |
+
dataset_type = 'PoseDataset'
|
17 |
+
ann_file = '/data/lhd/pyskl_data/gym/gym_hrnet.pkl'
|
18 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
19 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
20 |
+
train_pipeline = [
|
21 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
22 |
+
dict(type='PoseDecode'),
|
23 |
+
dict(
|
24 |
+
type='Flip',
|
25 |
+
flip_ratio=0.5,
|
26 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
27 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
28 |
+
dict(type='Kinetics_Transform'),
|
29 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
30 |
+
dict(type='FormatGCNInput', num_person=2),
|
31 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
32 |
+
dict(type='ToTensor', keys=['keypoint'])
|
33 |
+
]
|
34 |
+
val_pipeline = [
|
35 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
36 |
+
dict(type='PoseDecode'),
|
37 |
+
dict(type='Kinetics_Transform'),
|
38 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
39 |
+
dict(type='FormatGCNInput', num_person=2),
|
40 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
41 |
+
dict(type='ToTensor', keys=['keypoint'])
|
42 |
+
]
|
43 |
+
test_pipeline = [
|
44 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
45 |
+
dict(type='PoseDecode'),
|
46 |
+
dict(type='Kinetics_Transform'),
|
47 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
48 |
+
dict(type='FormatGCNInput', num_person=2),
|
49 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
50 |
+
dict(type='ToTensor', keys=['keypoint'])
|
51 |
+
]
|
52 |
+
data = dict(
|
53 |
+
videos_per_gpu=16,
|
54 |
+
workers_per_gpu=4,
|
55 |
+
test_dataloader=dict(videos_per_gpu=1),
|
56 |
+
train=dict(
|
57 |
+
type='PoseDataset',
|
58 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
59 |
+
pipeline=[
|
60 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
61 |
+
dict(type='PoseDecode'),
|
62 |
+
dict(
|
63 |
+
type='Flip',
|
64 |
+
flip_ratio=0.5,
|
65 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
66 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
67 |
+
dict(type='Kinetics_Transform'),
|
68 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
69 |
+
dict(type='FormatGCNInput', num_person=2),
|
70 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
71 |
+
dict(type='ToTensor', keys=['keypoint'])
|
72 |
+
],
|
73 |
+
split='train'),
|
74 |
+
val=dict(
|
75 |
+
type='PoseDataset',
|
76 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
77 |
+
pipeline=[
|
78 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
79 |
+
dict(type='PoseDecode'),
|
80 |
+
dict(type='Kinetics_Transform'),
|
81 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
82 |
+
dict(type='FormatGCNInput', num_person=2),
|
83 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
84 |
+
dict(type='ToTensor', keys=['keypoint'])
|
85 |
+
],
|
86 |
+
split='val'),
|
87 |
+
test=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
90 |
+
pipeline=[
|
91 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
92 |
+
dict(type='PoseDecode'),
|
93 |
+
dict(type='Kinetics_Transform'),
|
94 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
95 |
+
dict(type='FormatGCNInput', num_person=2),
|
96 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
97 |
+
dict(type='ToTensor', keys=['keypoint'])
|
98 |
+
],
|
99 |
+
split='val'))
|
100 |
+
optimizer = dict(
|
101 |
+
type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
102 |
+
optimizer_config = dict(grad_clip=None)
|
103 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
104 |
+
total_epochs = 150
|
105 |
+
checkpoint_config = dict(interval=1)
|
106 |
+
evaluation = dict(
|
107 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
108 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
109 |
+
dist_params = dict(backend='nccl')
|
110 |
+
gpu_ids = range(0, 1)
|
finegym/j_2/20231224_082026.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/j_2/20231224_082026.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/j_2/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a72d3a4445fddc7a6abd18ce43dd1eb4a1851b8b87c53738feb110d9268f4326
|
3 |
+
size 5256389
|
finegym/j_2/best_top1_acc_epoch_139.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f23e35fa982b7264696c742ff543b560d86fc46a122a59d38aad9044e19114ac
|
3 |
+
size 34831398
|
finegym/j_2/j_2.py
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'j'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/finegym/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='coco_new',
|
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_12', num_classes=99, in_channels=384))
|
16 |
+
dataset_type = 'PoseDataset'
|
17 |
+
ann_file = '/data/lhd/pyskl_data/gym/gym_hrnet.pkl'
|
18 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
19 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
20 |
+
train_pipeline = [
|
21 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
22 |
+
dict(type='PoseDecode'),
|
23 |
+
dict(
|
24 |
+
type='Flip',
|
25 |
+
flip_ratio=0.5,
|
26 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
27 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
28 |
+
dict(type='Kinetics_Transform'),
|
29 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
30 |
+
dict(type='FormatGCNInput', num_person=2),
|
31 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
32 |
+
dict(type='ToTensor', keys=['keypoint'])
|
33 |
+
]
|
34 |
+
val_pipeline = [
|
35 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
36 |
+
dict(type='PoseDecode'),
|
37 |
+
dict(type='Kinetics_Transform'),
|
38 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
39 |
+
dict(type='FormatGCNInput', num_person=2),
|
40 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
41 |
+
dict(type='ToTensor', keys=['keypoint'])
|
42 |
+
]
|
43 |
+
test_pipeline = [
|
44 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
45 |
+
dict(type='PoseDecode'),
|
46 |
+
dict(type='Kinetics_Transform'),
|
47 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
48 |
+
dict(type='FormatGCNInput', num_person=2),
|
49 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
50 |
+
dict(type='ToTensor', keys=['keypoint'])
|
51 |
+
]
|
52 |
+
data = dict(
|
53 |
+
videos_per_gpu=16,
|
54 |
+
workers_per_gpu=4,
|
55 |
+
test_dataloader=dict(videos_per_gpu=1),
|
56 |
+
train=dict(
|
57 |
+
type='PoseDataset',
|
58 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
59 |
+
pipeline=[
|
60 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
61 |
+
dict(type='PoseDecode'),
|
62 |
+
dict(
|
63 |
+
type='Flip',
|
64 |
+
flip_ratio=0.5,
|
65 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
66 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
67 |
+
dict(type='Kinetics_Transform'),
|
68 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
69 |
+
dict(type='FormatGCNInput', num_person=2),
|
70 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
71 |
+
dict(type='ToTensor', keys=['keypoint'])
|
72 |
+
],
|
73 |
+
split='train'),
|
74 |
+
val=dict(
|
75 |
+
type='PoseDataset',
|
76 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
77 |
+
pipeline=[
|
78 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
79 |
+
dict(type='PoseDecode'),
|
80 |
+
dict(type='Kinetics_Transform'),
|
81 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
82 |
+
dict(type='FormatGCNInput', num_person=2),
|
83 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
84 |
+
dict(type='ToTensor', keys=['keypoint'])
|
85 |
+
],
|
86 |
+
split='val'),
|
87 |
+
test=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
90 |
+
pipeline=[
|
91 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
92 |
+
dict(type='PoseDecode'),
|
93 |
+
dict(type='Kinetics_Transform'),
|
94 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
95 |
+
dict(type='FormatGCNInput', num_person=2),
|
96 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
97 |
+
dict(type='ToTensor', keys=['keypoint'])
|
98 |
+
],
|
99 |
+
split='val'))
|
100 |
+
optimizer = dict(
|
101 |
+
type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
102 |
+
optimizer_config = dict(grad_clip=None)
|
103 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
104 |
+
total_epochs = 150
|
105 |
+
checkpoint_config = dict(interval=1)
|
106 |
+
evaluation = dict(
|
107 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
108 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
109 |
+
dist_params = dict(backend='nccl')
|
110 |
+
gpu_ids = range(0, 1)
|
finegym/jm/20231223_050822.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/jm/20231223_050822.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/jm/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:fe6f5ad6852df6efdaee4f16c5b2807522e0d7dfeb7cd8f2c862ca09ca251be4
|
3 |
+
size 5257496
|
finegym/jm/best_top1_acc_epoch_133.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3802dac4a8c21075f654ae61faa6f3352b75eb605dfdccb118155fe93ba396ef
|
3 |
+
size 34831398
|
finegym/jm/jm.py
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'jm'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/finegym/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='coco_new',
|
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_12', num_classes=99, in_channels=384))
|
16 |
+
dataset_type = 'PoseDataset'
|
17 |
+
ann_file = '/data/lhd/pyskl_data/gym/gym_hrnet.pkl'
|
18 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
19 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
20 |
+
train_pipeline = [
|
21 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
22 |
+
dict(type='PoseDecode'),
|
23 |
+
dict(
|
24 |
+
type='Flip',
|
25 |
+
flip_ratio=0.5,
|
26 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
27 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
28 |
+
dict(type='Kinetics_Transform'),
|
29 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['jm']),
|
30 |
+
dict(type='FormatGCNInput', num_person=2),
|
31 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
32 |
+
dict(type='ToTensor', keys=['keypoint'])
|
33 |
+
]
|
34 |
+
val_pipeline = [
|
35 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
36 |
+
dict(type='PoseDecode'),
|
37 |
+
dict(type='Kinetics_Transform'),
|
38 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['jm']),
|
39 |
+
dict(type='FormatGCNInput', num_person=2),
|
40 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
41 |
+
dict(type='ToTensor', keys=['keypoint'])
|
42 |
+
]
|
43 |
+
test_pipeline = [
|
44 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
45 |
+
dict(type='PoseDecode'),
|
46 |
+
dict(type='Kinetics_Transform'),
|
47 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['jm']),
|
48 |
+
dict(type='FormatGCNInput', num_person=2),
|
49 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
50 |
+
dict(type='ToTensor', keys=['keypoint'])
|
51 |
+
]
|
52 |
+
data = dict(
|
53 |
+
videos_per_gpu=16,
|
54 |
+
workers_per_gpu=4,
|
55 |
+
test_dataloader=dict(videos_per_gpu=1),
|
56 |
+
train=dict(
|
57 |
+
type='PoseDataset',
|
58 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
59 |
+
pipeline=[
|
60 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
61 |
+
dict(type='PoseDecode'),
|
62 |
+
dict(
|
63 |
+
type='Flip',
|
64 |
+
flip_ratio=0.5,
|
65 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
66 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
67 |
+
dict(type='Kinetics_Transform'),
|
68 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['jm']),
|
69 |
+
dict(type='FormatGCNInput', num_person=2),
|
70 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
71 |
+
dict(type='ToTensor', keys=['keypoint'])
|
72 |
+
],
|
73 |
+
split='train'),
|
74 |
+
val=dict(
|
75 |
+
type='PoseDataset',
|
76 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
77 |
+
pipeline=[
|
78 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
79 |
+
dict(type='PoseDecode'),
|
80 |
+
dict(type='Kinetics_Transform'),
|
81 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['jm']),
|
82 |
+
dict(type='FormatGCNInput', num_person=2),
|
83 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
84 |
+
dict(type='ToTensor', keys=['keypoint'])
|
85 |
+
],
|
86 |
+
split='val'),
|
87 |
+
test=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
90 |
+
pipeline=[
|
91 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
92 |
+
dict(type='PoseDecode'),
|
93 |
+
dict(type='Kinetics_Transform'),
|
94 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['jm']),
|
95 |
+
dict(type='FormatGCNInput', num_person=2),
|
96 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
97 |
+
dict(type='ToTensor', keys=['keypoint'])
|
98 |
+
],
|
99 |
+
split='val'))
|
100 |
+
optimizer = dict(
|
101 |
+
type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
102 |
+
optimizer_config = dict(grad_clip=None)
|
103 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
104 |
+
total_epochs = 150
|
105 |
+
checkpoint_config = dict(interval=1)
|
106 |
+
evaluation = dict(
|
107 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
108 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
109 |
+
dist_params = dict(backend='nccl')
|
110 |
+
gpu_ids = range(0, 1)
|
finegym/k_1/20231224_082045.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/k_1/20231224_082045.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/k_1/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:bcea1573792981d7bdff5f465202b1bd8d555dabe5f5d6dc0582c7917daeaada
|
3 |
+
size 5255099
|
finegym/k_1/best_top1_acc_epoch_141.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:7170effef12b65c2d95bb43073f50c1bbd040a5f8bb6f768ccbd03ab8a06a524
|
3 |
+
size 32988198
|
finegym/k_1/k_1.py
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'k'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/finegym/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='coco_new',
|
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_11', num_classes=99, in_channels=384))
|
16 |
+
dataset_type = 'PoseDataset'
|
17 |
+
ann_file = '/data/lhd/pyskl_data/gym/gym_hrnet.pkl'
|
18 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
19 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
20 |
+
train_pipeline = [
|
21 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
22 |
+
dict(type='PoseDecode'),
|
23 |
+
dict(
|
24 |
+
type='Flip',
|
25 |
+
flip_ratio=0.5,
|
26 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
27 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
28 |
+
dict(type='Kinetics_Transform'),
|
29 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
30 |
+
dict(type='FormatGCNInput', num_person=2),
|
31 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
32 |
+
dict(type='ToTensor', keys=['keypoint'])
|
33 |
+
]
|
34 |
+
val_pipeline = [
|
35 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
36 |
+
dict(type='PoseDecode'),
|
37 |
+
dict(type='Kinetics_Transform'),
|
38 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
39 |
+
dict(type='FormatGCNInput', num_person=2),
|
40 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
41 |
+
dict(type='ToTensor', keys=['keypoint'])
|
42 |
+
]
|
43 |
+
test_pipeline = [
|
44 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
45 |
+
dict(type='PoseDecode'),
|
46 |
+
dict(type='Kinetics_Transform'),
|
47 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
48 |
+
dict(type='FormatGCNInput', num_person=2),
|
49 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
50 |
+
dict(type='ToTensor', keys=['keypoint'])
|
51 |
+
]
|
52 |
+
data = dict(
|
53 |
+
videos_per_gpu=16,
|
54 |
+
workers_per_gpu=4,
|
55 |
+
test_dataloader=dict(videos_per_gpu=1),
|
56 |
+
train=dict(
|
57 |
+
type='PoseDataset',
|
58 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
59 |
+
pipeline=[
|
60 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
61 |
+
dict(type='PoseDecode'),
|
62 |
+
dict(
|
63 |
+
type='Flip',
|
64 |
+
flip_ratio=0.5,
|
65 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
66 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
67 |
+
dict(type='Kinetics_Transform'),
|
68 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
69 |
+
dict(type='FormatGCNInput', num_person=2),
|
70 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
71 |
+
dict(type='ToTensor', keys=['keypoint'])
|
72 |
+
],
|
73 |
+
split='train'),
|
74 |
+
val=dict(
|
75 |
+
type='PoseDataset',
|
76 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
77 |
+
pipeline=[
|
78 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
79 |
+
dict(type='PoseDecode'),
|
80 |
+
dict(type='Kinetics_Transform'),
|
81 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
82 |
+
dict(type='FormatGCNInput', num_person=2),
|
83 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
84 |
+
dict(type='ToTensor', keys=['keypoint'])
|
85 |
+
],
|
86 |
+
split='val'),
|
87 |
+
test=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
90 |
+
pipeline=[
|
91 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
92 |
+
dict(type='PoseDecode'),
|
93 |
+
dict(type='Kinetics_Transform'),
|
94 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
95 |
+
dict(type='FormatGCNInput', num_person=2),
|
96 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
97 |
+
dict(type='ToTensor', keys=['keypoint'])
|
98 |
+
],
|
99 |
+
split='val'))
|
100 |
+
optimizer = dict(
|
101 |
+
type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
102 |
+
optimizer_config = dict(grad_clip=None)
|
103 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
104 |
+
total_epochs = 150
|
105 |
+
checkpoint_config = dict(interval=1)
|
106 |
+
evaluation = dict(
|
107 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
108 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
109 |
+
dist_params = dict(backend='nccl')
|
110 |
+
gpu_ids = range(0, 1)
|
finegym/k_2/20231223_050754.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/k_2/20231223_050754.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/k_2/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9f0e0f7faf3b55d2548dd74c1c19f136672717408d2449ba00d1eff56f313e93
|
3 |
+
size 5255049
|
finegym/k_2/best_top1_acc_epoch_146.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4ceaa2e38bf535c7eccc7fa0817d95381f9d507a68ae8cc7899a9afda614ca14
|
3 |
+
size 32988198
|
finegym/k_2/k_2.py
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'k'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/finegym/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='coco_new',
|
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_11', num_classes=99, in_channels=384))
|
16 |
+
dataset_type = 'PoseDataset'
|
17 |
+
ann_file = '/data/lhd/pyskl_data/gym/gym_hrnet.pkl'
|
18 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
19 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
20 |
+
train_pipeline = [
|
21 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
22 |
+
dict(type='PoseDecode'),
|
23 |
+
dict(
|
24 |
+
type='Flip',
|
25 |
+
flip_ratio=0.5,
|
26 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
27 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
28 |
+
dict(type='Kinetics_Transform'),
|
29 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
30 |
+
dict(type='FormatGCNInput', num_person=2),
|
31 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
32 |
+
dict(type='ToTensor', keys=['keypoint'])
|
33 |
+
]
|
34 |
+
val_pipeline = [
|
35 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
36 |
+
dict(type='PoseDecode'),
|
37 |
+
dict(type='Kinetics_Transform'),
|
38 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
39 |
+
dict(type='FormatGCNInput', num_person=2),
|
40 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
41 |
+
dict(type='ToTensor', keys=['keypoint'])
|
42 |
+
]
|
43 |
+
test_pipeline = [
|
44 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
45 |
+
dict(type='PoseDecode'),
|
46 |
+
dict(type='Kinetics_Transform'),
|
47 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
48 |
+
dict(type='FormatGCNInput', num_person=2),
|
49 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
50 |
+
dict(type='ToTensor', keys=['keypoint'])
|
51 |
+
]
|
52 |
+
data = dict(
|
53 |
+
videos_per_gpu=16,
|
54 |
+
workers_per_gpu=4,
|
55 |
+
test_dataloader=dict(videos_per_gpu=1),
|
56 |
+
train=dict(
|
57 |
+
type='PoseDataset',
|
58 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
59 |
+
pipeline=[
|
60 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
61 |
+
dict(type='PoseDecode'),
|
62 |
+
dict(
|
63 |
+
type='Flip',
|
64 |
+
flip_ratio=0.5,
|
65 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
66 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
67 |
+
dict(type='Kinetics_Transform'),
|
68 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
69 |
+
dict(type='FormatGCNInput', num_person=2),
|
70 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
71 |
+
dict(type='ToTensor', keys=['keypoint'])
|
72 |
+
],
|
73 |
+
split='train'),
|
74 |
+
val=dict(
|
75 |
+
type='PoseDataset',
|
76 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
77 |
+
pipeline=[
|
78 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
79 |
+
dict(type='PoseDecode'),
|
80 |
+
dict(type='Kinetics_Transform'),
|
81 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
82 |
+
dict(type='FormatGCNInput', num_person=2),
|
83 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
84 |
+
dict(type='ToTensor', keys=['keypoint'])
|
85 |
+
],
|
86 |
+
split='val'),
|
87 |
+
test=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
90 |
+
pipeline=[
|
91 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
92 |
+
dict(type='PoseDecode'),
|
93 |
+
dict(type='Kinetics_Transform'),
|
94 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
95 |
+
dict(type='FormatGCNInput', num_person=2),
|
96 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
97 |
+
dict(type='ToTensor', keys=['keypoint'])
|
98 |
+
],
|
99 |
+
split='val'))
|
100 |
+
optimizer = dict(
|
101 |
+
type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
102 |
+
optimizer_config = dict(grad_clip=None)
|
103 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
104 |
+
total_epochs = 150
|
105 |
+
checkpoint_config = dict(interval=1)
|
106 |
+
evaluation = dict(
|
107 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
108 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
109 |
+
dist_params = dict(backend='nccl')
|
110 |
+
gpu_ids = range(0, 1)
|
finegym/km/20231224_081954.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/km/20231224_081954.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
finegym/km/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:83d7ed85ce9ab6ea1661e3207a917164fe727efb634461924ac93bb2d465d380
|
3 |
+
size 5255820
|
finegym/km/best_top1_acc_epoch_146.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e5ff88ded6ec05d9b0054f13a11f87d6eba127ba604a5cabe2dd590f3523b31c
|
3 |
+
size 32988198
|
finegym/km/km.py
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'km'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/finegym/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='coco_new',
|
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_11', num_classes=99, in_channels=384))
|
16 |
+
dataset_type = 'PoseDataset'
|
17 |
+
ann_file = '/data/lhd/pyskl_data/gym/gym_hrnet.pkl'
|
18 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
19 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
20 |
+
train_pipeline = [
|
21 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
22 |
+
dict(type='PoseDecode'),
|
23 |
+
dict(
|
24 |
+
type='Flip',
|
25 |
+
flip_ratio=0.5,
|
26 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
27 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
28 |
+
dict(type='Kinetics_Transform'),
|
29 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['km']),
|
30 |
+
dict(type='FormatGCNInput', num_person=2),
|
31 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
32 |
+
dict(type='ToTensor', keys=['keypoint'])
|
33 |
+
]
|
34 |
+
val_pipeline = [
|
35 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
36 |
+
dict(type='PoseDecode'),
|
37 |
+
dict(type='Kinetics_Transform'),
|
38 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['km']),
|
39 |
+
dict(type='FormatGCNInput', num_person=2),
|
40 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
41 |
+
dict(type='ToTensor', keys=['keypoint'])
|
42 |
+
]
|
43 |
+
test_pipeline = [
|
44 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
45 |
+
dict(type='PoseDecode'),
|
46 |
+
dict(type='Kinetics_Transform'),
|
47 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['km']),
|
48 |
+
dict(type='FormatGCNInput', num_person=2),
|
49 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
50 |
+
dict(type='ToTensor', keys=['keypoint'])
|
51 |
+
]
|
52 |
+
data = dict(
|
53 |
+
videos_per_gpu=16,
|
54 |
+
workers_per_gpu=4,
|
55 |
+
test_dataloader=dict(videos_per_gpu=1),
|
56 |
+
train=dict(
|
57 |
+
type='PoseDataset',
|
58 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
59 |
+
pipeline=[
|
60 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
61 |
+
dict(type='PoseDecode'),
|
62 |
+
dict(
|
63 |
+
type='Flip',
|
64 |
+
flip_ratio=0.5,
|
65 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
66 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
67 |
+
dict(type='Kinetics_Transform'),
|
68 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['km']),
|
69 |
+
dict(type='FormatGCNInput', num_person=2),
|
70 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
71 |
+
dict(type='ToTensor', keys=['keypoint'])
|
72 |
+
],
|
73 |
+
split='train'),
|
74 |
+
val=dict(
|
75 |
+
type='PoseDataset',
|
76 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
77 |
+
pipeline=[
|
78 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
79 |
+
dict(type='PoseDecode'),
|
80 |
+
dict(type='Kinetics_Transform'),
|
81 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['km']),
|
82 |
+
dict(type='FormatGCNInput', num_person=2),
|
83 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
84 |
+
dict(type='ToTensor', keys=['keypoint'])
|
85 |
+
],
|
86 |
+
split='val'),
|
87 |
+
test=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file='/data/lhd/pyskl_data/gym/gym_hrnet.pkl',
|
90 |
+
pipeline=[
|
91 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
92 |
+
dict(type='PoseDecode'),
|
93 |
+
dict(type='Kinetics_Transform'),
|
94 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['km']),
|
95 |
+
dict(type='FormatGCNInput', num_person=2),
|
96 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
97 |
+
dict(type='ToTensor', keys=['keypoint'])
|
98 |
+
],
|
99 |
+
split='val'))
|
100 |
+
optimizer = dict(
|
101 |
+
type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
102 |
+
optimizer_config = dict(grad_clip=None)
|
103 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
104 |
+
total_epochs = 150
|
105 |
+
checkpoint_config = dict(interval=1)
|
106 |
+
evaluation = dict(
|
107 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
108 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
109 |
+
dist_params = dict(backend='nccl')
|
110 |
+
gpu_ids = range(0, 1)
|