Upload 37 files
Browse files- k400/j_1/20231220_214209.log +0 -0
- k400/j_1/20231220_214209.log.json +0 -0
- k400/j_1/best_pred.pkl +3 -0
- k400/j_1/best_top1_acc_epoch_150.pth +3 -0
- k400/j_1/j_1.py +133 -0
- k400/j_2/20231224_142835.log +0 -0
- k400/j_2/20231224_142835.log.json +0 -0
- k400/j_2/best_pred.pkl +3 -0
- k400/j_2/best_top1_acc_epoch_150.pth +3 -0
- k400/j_2/j_2.py +133 -0
- k400/j_3/20231229_093455.log +0 -0
- k400/j_3/20231229_093455.log.json +0 -0
- k400/j_3/20240101_134851.log +0 -0
- k400/j_3/20240101_134851.log.json +0 -0
- k400/j_3/best_pred.pkl +3 -0
- k400/j_3/best_top1_acc_epoch_146.pth +3 -0
- k400/j_3/j_3.py +134 -0
- k400/k400_ensemble.py +71 -0
- k400/k_1/20231229_093413.log +0 -0
- k400/k_1/20231229_093413.log.json +0 -0
- k400/k_1/20240101_134823.log +0 -0
- k400/k_1/20240101_134823.log.json +0 -0
- k400/k_1/best_pred.pkl +3 -0
- k400/k_1/best_top1_acc_epoch_150.pth +3 -0
- k400/k_1/k_1.py +134 -0
- k400/k_2/20231224_142844.log +0 -0
- k400/k_2/20231224_142844.log.json +0 -0
- k400/k_2/best_pred.pkl +3 -0
- k400/k_2/best_top1_acc_epoch_147.pth +3 -0
- k400/k_2/k_2.py +133 -0
- k400/k_3/20231229_093515.log +0 -0
- k400/k_3/20231229_093515.log.json +0 -0
- k400/k_3/20240101_134903.log +0 -0
- k400/k_3/20240101_134903.log.json +0 -0
- k400/k_3/best_pred.pkl +3 -0
- k400/k_3/best_top1_acc_epoch_147.pth +3 -0
- k400/k_3/k_3.py +134 -0
k400/j_1/20231220_214209.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/j_1/20231220_214209.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/j_1/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:da16512966efcb1c3cd4cff6d8bfb6b90f9be7b894d13737ffc602c1a8cf18cf
|
3 |
+
size 44885270
|
k400/j_1/best_top1_acc_epoch_150.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1f71b45dd9741828f0cd1ab1940a5d5f5bf687d83231c805e710f9f1b176ef79
|
3 |
+
size 35758566
|
k400/j_1/j_1.py
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'j'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/k400/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='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=400, in_channels=384))
|
16 |
+
memcached = True
|
17 |
+
mc_cfg = ('localhost', 22077)
|
18 |
+
dataset_type = 'PoseDataset'
|
19 |
+
ann_file = '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl'
|
20 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
21 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
22 |
+
box_thr = 0.5
|
23 |
+
valid_ratio = 0.0
|
24 |
+
train_pipeline = [
|
25 |
+
dict(type='DecompressPose', squeeze=True),
|
26 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
27 |
+
dict(type='PoseDecode'),
|
28 |
+
dict(
|
29 |
+
type='Flip',
|
30 |
+
flip_ratio=0.5,
|
31 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
32 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
33 |
+
dict(type='Kinetics_Transform'),
|
34 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
35 |
+
dict(type='FormatGCNInput', num_person=2),
|
36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
38 |
+
]
|
39 |
+
val_pipeline = [
|
40 |
+
dict(type='DecompressPose', squeeze=True),
|
41 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
42 |
+
dict(type='PoseDecode'),
|
43 |
+
dict(type='Kinetics_Transform'),
|
44 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
45 |
+
dict(type='FormatGCNInput', num_person=2),
|
46 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
47 |
+
dict(type='ToTensor', keys=['keypoint'])
|
48 |
+
]
|
49 |
+
test_pipeline = [
|
50 |
+
dict(type='DecompressPose', squeeze=True),
|
51 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
52 |
+
dict(type='PoseDecode'),
|
53 |
+
dict(type='Kinetics_Transform'),
|
54 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
55 |
+
dict(type='FormatGCNInput', num_person=2),
|
56 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
57 |
+
dict(type='ToTensor', keys=['keypoint'])
|
58 |
+
]
|
59 |
+
data = dict(
|
60 |
+
videos_per_gpu=32,
|
61 |
+
workers_per_gpu=8,
|
62 |
+
test_dataloader=dict(videos_per_gpu=1),
|
63 |
+
train=dict(
|
64 |
+
type='PoseDataset',
|
65 |
+
ann_file=
|
66 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
67 |
+
split='train',
|
68 |
+
pipeline=[
|
69 |
+
dict(type='DecompressPose', squeeze=True),
|
70 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
71 |
+
dict(type='PoseDecode'),
|
72 |
+
dict(
|
73 |
+
type='Flip',
|
74 |
+
flip_ratio=0.5,
|
75 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
76 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
77 |
+
dict(type='Kinetics_Transform'),
|
78 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
79 |
+
dict(type='FormatGCNInput', num_person=2),
|
80 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
81 |
+
dict(type='ToTensor', keys=['keypoint'])
|
82 |
+
],
|
83 |
+
box_thr=0.5,
|
84 |
+
valid_ratio=0.0,
|
85 |
+
memcached=True,
|
86 |
+
mc_cfg=('localhost', 22077)),
|
87 |
+
val=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file=
|
90 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
91 |
+
split='val',
|
92 |
+
pipeline=[
|
93 |
+
dict(type='DecompressPose', squeeze=True),
|
94 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
95 |
+
dict(type='PoseDecode'),
|
96 |
+
dict(type='Kinetics_Transform'),
|
97 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
98 |
+
dict(type='FormatGCNInput', num_person=2),
|
99 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
100 |
+
dict(type='ToTensor', keys=['keypoint'])
|
101 |
+
],
|
102 |
+
box_thr=0.5,
|
103 |
+
memcached=True,
|
104 |
+
mc_cfg=('localhost', 22077)),
|
105 |
+
test=dict(
|
106 |
+
type='PoseDataset',
|
107 |
+
ann_file=
|
108 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
109 |
+
split='val',
|
110 |
+
pipeline=[
|
111 |
+
dict(type='DecompressPose', squeeze=True),
|
112 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
113 |
+
dict(type='PoseDecode'),
|
114 |
+
dict(type='Kinetics_Transform'),
|
115 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
116 |
+
dict(type='FormatGCNInput', num_person=2),
|
117 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
118 |
+
dict(type='ToTensor', keys=['keypoint'])
|
119 |
+
],
|
120 |
+
box_thr=0.5,
|
121 |
+
memcached=True,
|
122 |
+
mc_cfg=('localhost', 22077)))
|
123 |
+
optimizer = dict(
|
124 |
+
type='SGD', lr=0.2, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
125 |
+
optimizer_config = dict(grad_clip=None)
|
126 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
127 |
+
total_epochs = 150
|
128 |
+
checkpoint_config = dict(interval=1)
|
129 |
+
evaluation = dict(
|
130 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
131 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
132 |
+
dist_params = dict(backend='nccl')
|
133 |
+
gpu_ids = range(0, 4)
|
k400/j_2/20231224_142835.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/j_2/20231224_142835.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/j_2/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4ab4243cbcdae7c27466008c740d2574b40e76dbacb47508f8af9142b249c1b6
|
3 |
+
size 44886517
|
k400/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:07af82c0113dfe4c7aaca3a224dd0b2983dbcb220334b54afe52848680ab44aa
|
3 |
+
size 35758566
|
k400/j_2/j_2.py
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'j'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/k400/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=400, in_channels=384))
|
16 |
+
memcached = True
|
17 |
+
mc_cfg = ('localhost', 22077)
|
18 |
+
dataset_type = 'PoseDataset'
|
19 |
+
ann_file = '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl'
|
20 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
21 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
22 |
+
box_thr = 0.5
|
23 |
+
valid_ratio = 0.0
|
24 |
+
train_pipeline = [
|
25 |
+
dict(type='DecompressPose', squeeze=True),
|
26 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
27 |
+
dict(type='PoseDecode'),
|
28 |
+
dict(
|
29 |
+
type='Flip',
|
30 |
+
flip_ratio=0.5,
|
31 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
32 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
33 |
+
dict(type='Kinetics_Transform'),
|
34 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
35 |
+
dict(type='FormatGCNInput', num_person=2),
|
36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
38 |
+
]
|
39 |
+
val_pipeline = [
|
40 |
+
dict(type='DecompressPose', squeeze=True),
|
41 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
42 |
+
dict(type='PoseDecode'),
|
43 |
+
dict(type='Kinetics_Transform'),
|
44 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
45 |
+
dict(type='FormatGCNInput', num_person=2),
|
46 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
47 |
+
dict(type='ToTensor', keys=['keypoint'])
|
48 |
+
]
|
49 |
+
test_pipeline = [
|
50 |
+
dict(type='DecompressPose', squeeze=True),
|
51 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
52 |
+
dict(type='PoseDecode'),
|
53 |
+
dict(type='Kinetics_Transform'),
|
54 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
55 |
+
dict(type='FormatGCNInput', num_person=2),
|
56 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
57 |
+
dict(type='ToTensor', keys=['keypoint'])
|
58 |
+
]
|
59 |
+
data = dict(
|
60 |
+
videos_per_gpu=64,
|
61 |
+
workers_per_gpu=16,
|
62 |
+
test_dataloader=dict(videos_per_gpu=1),
|
63 |
+
train=dict(
|
64 |
+
type='PoseDataset',
|
65 |
+
ann_file=
|
66 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
67 |
+
split='train',
|
68 |
+
pipeline=[
|
69 |
+
dict(type='DecompressPose', squeeze=True),
|
70 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
71 |
+
dict(type='PoseDecode'),
|
72 |
+
dict(
|
73 |
+
type='Flip',
|
74 |
+
flip_ratio=0.5,
|
75 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
76 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
77 |
+
dict(type='Kinetics_Transform'),
|
78 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
79 |
+
dict(type='FormatGCNInput', num_person=2),
|
80 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
81 |
+
dict(type='ToTensor', keys=['keypoint'])
|
82 |
+
],
|
83 |
+
box_thr=0.5,
|
84 |
+
valid_ratio=0.0,
|
85 |
+
memcached=True,
|
86 |
+
mc_cfg=('localhost', 22077)),
|
87 |
+
val=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file=
|
90 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
91 |
+
split='val',
|
92 |
+
pipeline=[
|
93 |
+
dict(type='DecompressPose', squeeze=True),
|
94 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
95 |
+
dict(type='PoseDecode'),
|
96 |
+
dict(type='Kinetics_Transform'),
|
97 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
98 |
+
dict(type='FormatGCNInput', num_person=2),
|
99 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
100 |
+
dict(type='ToTensor', keys=['keypoint'])
|
101 |
+
],
|
102 |
+
box_thr=0.5,
|
103 |
+
memcached=True,
|
104 |
+
mc_cfg=('localhost', 22077)),
|
105 |
+
test=dict(
|
106 |
+
type='PoseDataset',
|
107 |
+
ann_file=
|
108 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
109 |
+
split='val',
|
110 |
+
pipeline=[
|
111 |
+
dict(type='DecompressPose', squeeze=True),
|
112 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
113 |
+
dict(type='PoseDecode'),
|
114 |
+
dict(type='Kinetics_Transform'),
|
115 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
116 |
+
dict(type='FormatGCNInput', num_person=2),
|
117 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
118 |
+
dict(type='ToTensor', keys=['keypoint'])
|
119 |
+
],
|
120 |
+
box_thr=0.5,
|
121 |
+
memcached=True,
|
122 |
+
mc_cfg=('localhost', 22077)))
|
123 |
+
optimizer = dict(
|
124 |
+
type='SGD', lr=0.1, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
125 |
+
optimizer_config = dict(grad_clip=None)
|
126 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
127 |
+
total_epochs = 150
|
128 |
+
checkpoint_config = dict(interval=1)
|
129 |
+
evaluation = dict(
|
130 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
131 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
132 |
+
dist_params = dict(backend='nccl')
|
133 |
+
gpu_ids = range(0, 1)
|
k400/j_3/20231229_093455.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/j_3/20231229_093455.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/j_3/20240101_134851.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/j_3/20240101_134851.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/j_3/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:188c23d49554b681923a37a3e7737329ef624370d1af41542586f571bf14008b
|
3 |
+
size 44889810
|
k400/j_3/best_top1_acc_epoch_146.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:0ba3b39852dd147d52ace5fbb83c8686ebe05a29f4dbf7bd5eab5338ec554537
|
3 |
+
size 35763942
|
k400/j_3/j_3.py
ADDED
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'j'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/k400/j_3'
|
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=400, in_channels=384))
|
16 |
+
memcached = True
|
17 |
+
mc_cfg = ('localhost', 22077)
|
18 |
+
dataset_type = 'PoseDataset'
|
19 |
+
ann_file = '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl'
|
20 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
21 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
22 |
+
box_thr = 0.5
|
23 |
+
valid_ratio = 0.0
|
24 |
+
train_pipeline = [
|
25 |
+
dict(type='DecompressPose', squeeze=True),
|
26 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
27 |
+
dict(type='PoseDecode'),
|
28 |
+
dict(
|
29 |
+
type='Flip',
|
30 |
+
flip_ratio=0.5,
|
31 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
32 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
33 |
+
dict(type='Kinetics_Transform'),
|
34 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
35 |
+
dict(type='FormatGCNInput', num_person=2),
|
36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
38 |
+
]
|
39 |
+
val_pipeline = [
|
40 |
+
dict(type='DecompressPose', squeeze=True),
|
41 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
42 |
+
dict(type='PoseDecode'),
|
43 |
+
dict(type='Kinetics_Transform'),
|
44 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
45 |
+
dict(type='FormatGCNInput', num_person=2),
|
46 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
47 |
+
dict(type='ToTensor', keys=['keypoint'])
|
48 |
+
]
|
49 |
+
test_pipeline = [
|
50 |
+
dict(type='DecompressPose', squeeze=True),
|
51 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
52 |
+
dict(type='PoseDecode'),
|
53 |
+
dict(type='Kinetics_Transform'),
|
54 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
55 |
+
dict(type='FormatGCNInput', num_person=2),
|
56 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
57 |
+
dict(type='ToTensor', keys=['keypoint'])
|
58 |
+
]
|
59 |
+
data = dict(
|
60 |
+
videos_per_gpu=64,
|
61 |
+
workers_per_gpu=16,
|
62 |
+
test_dataloader=dict(videos_per_gpu=1),
|
63 |
+
train=dict(
|
64 |
+
type='PoseDataset',
|
65 |
+
ann_file=
|
66 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
67 |
+
split='train',
|
68 |
+
pipeline=[
|
69 |
+
dict(type='DecompressPose', squeeze=True),
|
70 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
71 |
+
dict(type='PoseDecode'),
|
72 |
+
dict(
|
73 |
+
type='Flip',
|
74 |
+
flip_ratio=0.5,
|
75 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
76 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
77 |
+
dict(type='Kinetics_Transform'),
|
78 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
79 |
+
dict(type='FormatGCNInput', num_person=2),
|
80 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
81 |
+
dict(type='ToTensor', keys=['keypoint'])
|
82 |
+
],
|
83 |
+
box_thr=0.5,
|
84 |
+
valid_ratio=0.0,
|
85 |
+
memcached=True,
|
86 |
+
mc_cfg=('localhost', 22077)),
|
87 |
+
val=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file=
|
90 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
91 |
+
split='val',
|
92 |
+
pipeline=[
|
93 |
+
dict(type='DecompressPose', squeeze=True),
|
94 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
95 |
+
dict(type='PoseDecode'),
|
96 |
+
dict(type='Kinetics_Transform'),
|
97 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
98 |
+
dict(type='FormatGCNInput', num_person=2),
|
99 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
100 |
+
dict(type='ToTensor', keys=['keypoint'])
|
101 |
+
],
|
102 |
+
box_thr=0.5,
|
103 |
+
memcached=True,
|
104 |
+
mc_cfg=('localhost', 22077)),
|
105 |
+
test=dict(
|
106 |
+
type='PoseDataset',
|
107 |
+
ann_file=
|
108 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
109 |
+
split='val',
|
110 |
+
pipeline=[
|
111 |
+
dict(type='DecompressPose', squeeze=True),
|
112 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
113 |
+
dict(type='PoseDecode'),
|
114 |
+
dict(type='Kinetics_Transform'),
|
115 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['j']),
|
116 |
+
dict(type='FormatGCNInput', num_person=2),
|
117 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
118 |
+
dict(type='ToTensor', keys=['keypoint'])
|
119 |
+
],
|
120 |
+
box_thr=0.5,
|
121 |
+
memcached=True,
|
122 |
+
mc_cfg=('localhost', 22077)))
|
123 |
+
optimizer = dict(
|
124 |
+
type='SGD', lr=0.1, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
125 |
+
optimizer_config = dict(grad_clip=None)
|
126 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
127 |
+
total_epochs = 150
|
128 |
+
checkpoint_config = dict(interval=1)
|
129 |
+
evaluation = dict(
|
130 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
131 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
132 |
+
dist_params = dict(backend='nccl')
|
133 |
+
gpu_ids = range(0, 1)
|
134 |
+
resume_from = './work_dirs/test_prototype/k400/j_3/latest.pth'
|
k400/k400_ensemble.py
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
j_3 = load('j_3/best_pred.pkl')
|
15 |
+
b_3 = load('b_3/best_pred.pkl')
|
16 |
+
k_3 = load('k_3/best_pred.pkl')
|
17 |
+
label = load_label('/data/k400/k400_hrnet.pkl', 'val')
|
18 |
+
|
19 |
+
|
20 |
+
"""
|
21 |
+
***************
|
22 |
+
InfoGCN v1:
|
23 |
+
j j b b k k
|
24 |
+
2S: 49.85 / 73.96
|
25 |
+
4S: 51.33 / 75.23
|
26 |
+
6S: 51.73 / 75.58
|
27 |
+
***************
|
28 |
+
"""
|
29 |
+
print('InfoGCN v1:')
|
30 |
+
print('j j b b k k')
|
31 |
+
print('2S')
|
32 |
+
fused = comb([j_1, b_1], [1, 1])
|
33 |
+
print('Top-1', top1(fused, label))
|
34 |
+
print('Top-5', topk(fused, label, 5))
|
35 |
+
|
36 |
+
print('4S')
|
37 |
+
fused = comb([j_1, b_1, j_3, b_2], [1, 1, 1, 1])
|
38 |
+
print('Top-1', top1(fused, label))
|
39 |
+
print('Top-5', topk(fused, label, 5))
|
40 |
+
|
41 |
+
print('6S')
|
42 |
+
fused = comb([j_1, j_3, b_1, b_2, k_1, k_2], [7, 7, 5, 5, 3, 3])
|
43 |
+
print('Top-1', top1(fused, label))
|
44 |
+
print('Top-5', topk(fused, label, 5))
|
45 |
+
|
46 |
+
|
47 |
+
"""
|
48 |
+
***************
|
49 |
+
InfoGCN v2:
|
50 |
+
j b j b j b
|
51 |
+
2S: 49.85 / 73.96
|
52 |
+
4S: 51.33 / 75.06
|
53 |
+
6S: 51.85 / 75.55
|
54 |
+
***************
|
55 |
+
"""
|
56 |
+
print('InfoGCN v2:')
|
57 |
+
print('j b j b j b')
|
58 |
+
print('2S')
|
59 |
+
fused = comb([j_1, b_1], [1, 1])
|
60 |
+
print('Top-1', top1(fused, label))
|
61 |
+
print('Top-5', topk(fused, label, 5))
|
62 |
+
|
63 |
+
print('4S')
|
64 |
+
fused = comb([j_1, b_1, j_2, b_2], [1, 1, 1, 1])
|
65 |
+
print('Top-1', top1(fused, label))
|
66 |
+
print('Top-5', topk(fused, label, 5))
|
67 |
+
|
68 |
+
print('6S')
|
69 |
+
fused = comb([j_1, b_1, j_2, b_2, j_3, b_3], [6, 5, 3, 3, 5, 6])
|
70 |
+
print('Top-1', top1(fused, label))
|
71 |
+
print('Top-5', topk(fused, label, 5))
|
k400/k_1/20231229_093413.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_1/20231229_093413.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_1/20240101_134823.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_1/20240101_134823.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_1/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e4d63b57506fb1a04c8fa5b89952c40adaad80ff9bf1f695b289948814042ae8
|
3 |
+
size 44884333
|
k400/k_1/best_top1_acc_epoch_150.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:db3d4bf5524919668120dee2faeeea56155d8f62e3d32fbd76f8a3c553c6e34b
|
3 |
+
size 33920678
|
k400/k_1/k_1.py
ADDED
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'k'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/k400/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=400, in_channels=384))
|
16 |
+
memcached = True
|
17 |
+
mc_cfg = ('localhost', 22077)
|
18 |
+
dataset_type = 'PoseDataset'
|
19 |
+
ann_file = '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl'
|
20 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
21 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
22 |
+
box_thr = 0.5
|
23 |
+
valid_ratio = 0.0
|
24 |
+
train_pipeline = [
|
25 |
+
dict(type='DecompressPose', squeeze=True),
|
26 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
27 |
+
dict(type='PoseDecode'),
|
28 |
+
dict(
|
29 |
+
type='Flip',
|
30 |
+
flip_ratio=0.5,
|
31 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
32 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
33 |
+
dict(type='Kinetics_Transform'),
|
34 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
35 |
+
dict(type='FormatGCNInput', num_person=2),
|
36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
38 |
+
]
|
39 |
+
val_pipeline = [
|
40 |
+
dict(type='DecompressPose', squeeze=True),
|
41 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
42 |
+
dict(type='PoseDecode'),
|
43 |
+
dict(type='Kinetics_Transform'),
|
44 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
45 |
+
dict(type='FormatGCNInput', num_person=2),
|
46 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
47 |
+
dict(type='ToTensor', keys=['keypoint'])
|
48 |
+
]
|
49 |
+
test_pipeline = [
|
50 |
+
dict(type='DecompressPose', squeeze=True),
|
51 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
52 |
+
dict(type='PoseDecode'),
|
53 |
+
dict(type='Kinetics_Transform'),
|
54 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
55 |
+
dict(type='FormatGCNInput', num_person=2),
|
56 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
57 |
+
dict(type='ToTensor', keys=['keypoint'])
|
58 |
+
]
|
59 |
+
data = dict(
|
60 |
+
videos_per_gpu=64,
|
61 |
+
workers_per_gpu=16,
|
62 |
+
test_dataloader=dict(videos_per_gpu=1),
|
63 |
+
train=dict(
|
64 |
+
type='PoseDataset',
|
65 |
+
ann_file=
|
66 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
67 |
+
split='train',
|
68 |
+
pipeline=[
|
69 |
+
dict(type='DecompressPose', squeeze=True),
|
70 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
71 |
+
dict(type='PoseDecode'),
|
72 |
+
dict(
|
73 |
+
type='Flip',
|
74 |
+
flip_ratio=0.5,
|
75 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
76 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
77 |
+
dict(type='Kinetics_Transform'),
|
78 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
79 |
+
dict(type='FormatGCNInput', num_person=2),
|
80 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
81 |
+
dict(type='ToTensor', keys=['keypoint'])
|
82 |
+
],
|
83 |
+
box_thr=0.5,
|
84 |
+
valid_ratio=0.0,
|
85 |
+
memcached=True,
|
86 |
+
mc_cfg=('localhost', 22077)),
|
87 |
+
val=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file=
|
90 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
91 |
+
split='val',
|
92 |
+
pipeline=[
|
93 |
+
dict(type='DecompressPose', squeeze=True),
|
94 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
95 |
+
dict(type='PoseDecode'),
|
96 |
+
dict(type='Kinetics_Transform'),
|
97 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
98 |
+
dict(type='FormatGCNInput', num_person=2),
|
99 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
100 |
+
dict(type='ToTensor', keys=['keypoint'])
|
101 |
+
],
|
102 |
+
box_thr=0.5,
|
103 |
+
memcached=True,
|
104 |
+
mc_cfg=('localhost', 22077)),
|
105 |
+
test=dict(
|
106 |
+
type='PoseDataset',
|
107 |
+
ann_file=
|
108 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
109 |
+
split='val',
|
110 |
+
pipeline=[
|
111 |
+
dict(type='DecompressPose', squeeze=True),
|
112 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
113 |
+
dict(type='PoseDecode'),
|
114 |
+
dict(type='Kinetics_Transform'),
|
115 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
116 |
+
dict(type='FormatGCNInput', num_person=2),
|
117 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
118 |
+
dict(type='ToTensor', keys=['keypoint'])
|
119 |
+
],
|
120 |
+
box_thr=0.5,
|
121 |
+
memcached=True,
|
122 |
+
mc_cfg=('localhost', 22077)))
|
123 |
+
optimizer = dict(
|
124 |
+
type='SGD', lr=0.1, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
125 |
+
optimizer_config = dict(grad_clip=None)
|
126 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
127 |
+
total_epochs = 150
|
128 |
+
checkpoint_config = dict(interval=1)
|
129 |
+
evaluation = dict(
|
130 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
131 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
132 |
+
dist_params = dict(backend='nccl')
|
133 |
+
gpu_ids = range(0, 1)
|
134 |
+
resume_from = './work_dirs/test_prototype/k400/k_1/latest.pth'
|
k400/k_2/20231224_142844.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_2/20231224_142844.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_2/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:37034f4c4fb45809ae22f5eb70b40ecf9c54891bf3ccc33407c66038d342005e
|
3 |
+
size 44885202
|
k400/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:03f936902d81b1456a921983f0c92a6b66c3ffda432a01fd9f4c35c247a34c09
|
3 |
+
size 33915366
|
k400/k_2/k_2.py
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'k'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/k400/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=400, in_channels=384))
|
16 |
+
memcached = True
|
17 |
+
mc_cfg = ('localhost', 22077)
|
18 |
+
dataset_type = 'PoseDataset'
|
19 |
+
ann_file = '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl'
|
20 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
21 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
22 |
+
box_thr = 0.5
|
23 |
+
valid_ratio = 0.0
|
24 |
+
train_pipeline = [
|
25 |
+
dict(type='DecompressPose', squeeze=True),
|
26 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
27 |
+
dict(type='PoseDecode'),
|
28 |
+
dict(
|
29 |
+
type='Flip',
|
30 |
+
flip_ratio=0.5,
|
31 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
32 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
33 |
+
dict(type='Kinetics_Transform'),
|
34 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
35 |
+
dict(type='FormatGCNInput', num_person=2),
|
36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
38 |
+
]
|
39 |
+
val_pipeline = [
|
40 |
+
dict(type='DecompressPose', squeeze=True),
|
41 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
42 |
+
dict(type='PoseDecode'),
|
43 |
+
dict(type='Kinetics_Transform'),
|
44 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
45 |
+
dict(type='FormatGCNInput', num_person=2),
|
46 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
47 |
+
dict(type='ToTensor', keys=['keypoint'])
|
48 |
+
]
|
49 |
+
test_pipeline = [
|
50 |
+
dict(type='DecompressPose', squeeze=True),
|
51 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
52 |
+
dict(type='PoseDecode'),
|
53 |
+
dict(type='Kinetics_Transform'),
|
54 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
55 |
+
dict(type='FormatGCNInput', num_person=2),
|
56 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
57 |
+
dict(type='ToTensor', keys=['keypoint'])
|
58 |
+
]
|
59 |
+
data = dict(
|
60 |
+
videos_per_gpu=64,
|
61 |
+
workers_per_gpu=16,
|
62 |
+
test_dataloader=dict(videos_per_gpu=1),
|
63 |
+
train=dict(
|
64 |
+
type='PoseDataset',
|
65 |
+
ann_file=
|
66 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
67 |
+
split='train',
|
68 |
+
pipeline=[
|
69 |
+
dict(type='DecompressPose', squeeze=True),
|
70 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
71 |
+
dict(type='PoseDecode'),
|
72 |
+
dict(
|
73 |
+
type='Flip',
|
74 |
+
flip_ratio=0.5,
|
75 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
76 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
77 |
+
dict(type='Kinetics_Transform'),
|
78 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
79 |
+
dict(type='FormatGCNInput', num_person=2),
|
80 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
81 |
+
dict(type='ToTensor', keys=['keypoint'])
|
82 |
+
],
|
83 |
+
box_thr=0.5,
|
84 |
+
valid_ratio=0.0,
|
85 |
+
memcached=True,
|
86 |
+
mc_cfg=('localhost', 22077)),
|
87 |
+
val=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file=
|
90 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
91 |
+
split='val',
|
92 |
+
pipeline=[
|
93 |
+
dict(type='DecompressPose', squeeze=True),
|
94 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
95 |
+
dict(type='PoseDecode'),
|
96 |
+
dict(type='Kinetics_Transform'),
|
97 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
98 |
+
dict(type='FormatGCNInput', num_person=2),
|
99 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
100 |
+
dict(type='ToTensor', keys=['keypoint'])
|
101 |
+
],
|
102 |
+
box_thr=0.5,
|
103 |
+
memcached=True,
|
104 |
+
mc_cfg=('localhost', 22077)),
|
105 |
+
test=dict(
|
106 |
+
type='PoseDataset',
|
107 |
+
ann_file=
|
108 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
109 |
+
split='val',
|
110 |
+
pipeline=[
|
111 |
+
dict(type='DecompressPose', squeeze=True),
|
112 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
113 |
+
dict(type='PoseDecode'),
|
114 |
+
dict(type='Kinetics_Transform'),
|
115 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
116 |
+
dict(type='FormatGCNInput', num_person=2),
|
117 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
118 |
+
dict(type='ToTensor', keys=['keypoint'])
|
119 |
+
],
|
120 |
+
box_thr=0.5,
|
121 |
+
memcached=True,
|
122 |
+
mc_cfg=('localhost', 22077)))
|
123 |
+
optimizer = dict(
|
124 |
+
type='SGD', lr=0.1, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
125 |
+
optimizer_config = dict(grad_clip=None)
|
126 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
127 |
+
total_epochs = 150
|
128 |
+
checkpoint_config = dict(interval=1)
|
129 |
+
evaluation = dict(
|
130 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
131 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
132 |
+
dist_params = dict(backend='nccl')
|
133 |
+
gpu_ids = range(0, 1)
|
k400/k_3/20231229_093515.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_3/20231229_093515.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_3/20240101_134903.log
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_3/20240101_134903.log.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
k400/k_3/best_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:49e37ad26aa519bc4714859ce0d86feda671817a7f80cc3ac533c8a9b39845fe
|
3 |
+
size 44888083
|
k400/k_3/best_top1_acc_epoch_147.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:21233d88db2e6b4cd5a4301b09db594d331a18adb3cb9d1b217ac5a22c95e278
|
3 |
+
size 33920678
|
k400/k_3/k_3.py
ADDED
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
modality = 'k'
|
2 |
+
graph = 'coco_new'
|
3 |
+
work_dir = './work_dirs/test_prototype/k400/k_3'
|
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=400, in_channels=384))
|
16 |
+
memcached = True
|
17 |
+
mc_cfg = ('localhost', 22077)
|
18 |
+
dataset_type = 'PoseDataset'
|
19 |
+
ann_file = '/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl'
|
20 |
+
left_kp = [1, 3, 5, 7, 9, 11, 13, 15]
|
21 |
+
right_kp = [2, 4, 6, 8, 10, 12, 14, 16]
|
22 |
+
box_thr = 0.5
|
23 |
+
valid_ratio = 0.0
|
24 |
+
train_pipeline = [
|
25 |
+
dict(type='DecompressPose', squeeze=True),
|
26 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
27 |
+
dict(type='PoseDecode'),
|
28 |
+
dict(
|
29 |
+
type='Flip',
|
30 |
+
flip_ratio=0.5,
|
31 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
32 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
33 |
+
dict(type='Kinetics_Transform'),
|
34 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
35 |
+
dict(type='FormatGCNInput', num_person=2),
|
36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
38 |
+
]
|
39 |
+
val_pipeline = [
|
40 |
+
dict(type='DecompressPose', squeeze=True),
|
41 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
42 |
+
dict(type='PoseDecode'),
|
43 |
+
dict(type='Kinetics_Transform'),
|
44 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
45 |
+
dict(type='FormatGCNInput', num_person=2),
|
46 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
47 |
+
dict(type='ToTensor', keys=['keypoint'])
|
48 |
+
]
|
49 |
+
test_pipeline = [
|
50 |
+
dict(type='DecompressPose', squeeze=True),
|
51 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
52 |
+
dict(type='PoseDecode'),
|
53 |
+
dict(type='Kinetics_Transform'),
|
54 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
55 |
+
dict(type='FormatGCNInput', num_person=2),
|
56 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
57 |
+
dict(type='ToTensor', keys=['keypoint'])
|
58 |
+
]
|
59 |
+
data = dict(
|
60 |
+
videos_per_gpu=64,
|
61 |
+
workers_per_gpu=16,
|
62 |
+
test_dataloader=dict(videos_per_gpu=1),
|
63 |
+
train=dict(
|
64 |
+
type='PoseDataset',
|
65 |
+
ann_file=
|
66 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
67 |
+
split='train',
|
68 |
+
pipeline=[
|
69 |
+
dict(type='DecompressPose', squeeze=True),
|
70 |
+
dict(type='UniformSampleFrames', clip_len=100),
|
71 |
+
dict(type='PoseDecode'),
|
72 |
+
dict(
|
73 |
+
type='Flip',
|
74 |
+
flip_ratio=0.5,
|
75 |
+
left_kp=[1, 3, 5, 7, 9, 11, 13, 15],
|
76 |
+
right_kp=[2, 4, 6, 8, 10, 12, 14, 16]),
|
77 |
+
dict(type='Kinetics_Transform'),
|
78 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
79 |
+
dict(type='FormatGCNInput', num_person=2),
|
80 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
81 |
+
dict(type='ToTensor', keys=['keypoint'])
|
82 |
+
],
|
83 |
+
box_thr=0.5,
|
84 |
+
valid_ratio=0.0,
|
85 |
+
memcached=True,
|
86 |
+
mc_cfg=('localhost', 22077)),
|
87 |
+
val=dict(
|
88 |
+
type='PoseDataset',
|
89 |
+
ann_file=
|
90 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
91 |
+
split='val',
|
92 |
+
pipeline=[
|
93 |
+
dict(type='DecompressPose', squeeze=True),
|
94 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=1),
|
95 |
+
dict(type='PoseDecode'),
|
96 |
+
dict(type='Kinetics_Transform'),
|
97 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
98 |
+
dict(type='FormatGCNInput', num_person=2),
|
99 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
100 |
+
dict(type='ToTensor', keys=['keypoint'])
|
101 |
+
],
|
102 |
+
box_thr=0.5,
|
103 |
+
memcached=True,
|
104 |
+
mc_cfg=('localhost', 22077)),
|
105 |
+
test=dict(
|
106 |
+
type='PoseDataset',
|
107 |
+
ann_file=
|
108 |
+
'/data1/hao.wang/reproducation/hongda.liu/pyskl_data/k400/k400_hrnet.pkl',
|
109 |
+
split='val',
|
110 |
+
pipeline=[
|
111 |
+
dict(type='DecompressPose', squeeze=True),
|
112 |
+
dict(type='UniformSampleFrames', clip_len=100, num_clips=10),
|
113 |
+
dict(type='PoseDecode'),
|
114 |
+
dict(type='Kinetics_Transform'),
|
115 |
+
dict(type='GenSkeFeat', dataset='coco_new', feats=['k']),
|
116 |
+
dict(type='FormatGCNInput', num_person=2),
|
117 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
118 |
+
dict(type='ToTensor', keys=['keypoint'])
|
119 |
+
],
|
120 |
+
box_thr=0.5,
|
121 |
+
memcached=True,
|
122 |
+
mc_cfg=('localhost', 22077)))
|
123 |
+
optimizer = dict(
|
124 |
+
type='SGD', lr=0.1, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
125 |
+
optimizer_config = dict(grad_clip=None)
|
126 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
127 |
+
total_epochs = 150
|
128 |
+
checkpoint_config = dict(interval=1)
|
129 |
+
evaluation = dict(
|
130 |
+
interval=1, metrics=['top_k_accuracy', 'mean_class_accuracy'], topk=(1, 5))
|
131 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
132 |
+
dist_params = dict(backend='nccl')
|
133 |
+
gpu_ids = range(0, 1)
|
134 |
+
resume_from = './work_dirs/test_prototype/k400/k_3/latest.pth'
|