Upload 122 files
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- ntu60_xsub/b_1/20241224_155542.log +0 -0
- ntu60_xsub/b_1/20241224_155542.log.json +0 -0
- ntu60_xsub/b_1/b_1.py +99 -0
- ntu60_xsub/b_1/best_pred.pkl +3 -0
- ntu60_xsub/b_1/best_top1_acc_epoch_150.pth +3 -0
- ntu60_xsub/b_2/20240717_212351.log +0 -0
- ntu60_xsub/b_2/20240717_212351.log.json +0 -0
- ntu60_xsub/b_2/b_2.py +98 -0
- ntu60_xsub/b_2/best_pred.pkl +3 -0
- ntu60_xsub/b_2/best_top1_acc_epoch_147.pth +3 -0
- ntu60_xsub/b_3/20240716_141700.log +0 -0
- ntu60_xsub/b_3/20240716_141700.log.json +0 -0
- ntu60_xsub/b_3/b_3.py +98 -0
- ntu60_xsub/b_3/best_pred.pkl +3 -0
- ntu60_xsub/b_3/best_top1_acc_epoch_150.pth +3 -0
- ntu60_xsub/bm/20240716_142226.log +0 -0
- ntu60_xsub/bm/20240716_142226.log.json +0 -0
- ntu60_xsub/bm/best_pred.pkl +3 -0
- ntu60_xsub/bm/best_top1_acc_epoch_144.pth +3 -0
- ntu60_xsub/bm/bm.py +98 -0
- ntu60_xsub/j_1/20240703_082538.log +0 -0
- ntu60_xsub/j_1/20240703_082538.log.json +0 -0
- ntu60_xsub/j_1/best_pred.pkl +3 -0
- ntu60_xsub/j_1/best_top1_acc_epoch_148.pth +3 -0
- ntu60_xsub/j_1/j_1.py +96 -0
- ntu60_xsub/j_2/20240707_153115.log +0 -0
- ntu60_xsub/j_2/20240707_153115.log.json +0 -0
- ntu60_xsub/j_2/best_pred.pkl +3 -0
- ntu60_xsub/j_2/best_top1_acc_epoch_149.pth +3 -0
- ntu60_xsub/j_2/j_2.py +96 -0
- ntu60_xsub/j_3/20240717_212459.log +0 -0
- ntu60_xsub/j_3/20240717_212459.log.json +0 -0
- ntu60_xsub/j_3/best_pred.pkl +3 -0
- ntu60_xsub/j_3/best_top1_acc_epoch_135.pth +3 -0
- ntu60_xsub/j_3/j_3.py +96 -0
- ntu60_xsub/jm/20240716_142246.log +0 -0
- ntu60_xsub/jm/20240716_142246.log.json +0 -0
- ntu60_xsub/jm/best_pred.pkl +3 -0
- ntu60_xsub/jm/best_top1_acc_epoch_141.pth +3 -0
- ntu60_xsub/jm/jm.py +96 -0
- ntu60_xsub/k_1/20240717_212513.log +0 -0
- ntu60_xsub/k_1/20240717_212513.log.json +0 -0
- ntu60_xsub/k_1/best_pred.pkl +3 -0
- ntu60_xsub/k_1/best_top1_acc_epoch_142.pth +3 -0
- ntu60_xsub/k_1/k_1.py +98 -0
- ntu60_xsub/k_2/20240716_142137.log +0 -0
- ntu60_xsub/k_2/20240716_142137.log.json +0 -0
- ntu60_xsub/k_2/best_pred.pkl +3 -0
- ntu60_xsub/k_2/best_top1_acc_epoch_148.pth +3 -0
- ntu60_xsub/k_2/k_2.py +98 -0
ntu60_xsub/b_1/20241224_155542.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/b_1/20241224_155542.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/b_1/b_1.py
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
modality = 'b'
|
| 3 |
+
graph = 'nturgb+d'
|
| 4 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/b_1'
|
| 5 |
+
model = dict(
|
| 6 |
+
type='RecognizerGCN',
|
| 7 |
+
backbone=dict(
|
| 8 |
+
type='GCN_Module',
|
| 9 |
+
gcn_ratio=0.125,
|
| 10 |
+
gcn_ctr='T',
|
| 11 |
+
gcn_ada='T',
|
| 12 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 13 |
+
graph_cfg=dict(
|
| 14 |
+
layout='nturgb+d',
|
| 15 |
+
mode='random',
|
| 16 |
+
num_filter=8,
|
| 17 |
+
init_off=0.04,
|
| 18 |
+
init_std=0.02)),
|
| 19 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 20 |
+
dataset_type = 'PoseDataset'
|
| 21 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 22 |
+
train_pipeline = [
|
| 23 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 24 |
+
dict(type='RandomRot', theta=0.2),
|
| 25 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 26 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 27 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 28 |
+
dict(type='FormatGCNInput'),
|
| 29 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 30 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 31 |
+
]
|
| 32 |
+
val_pipeline = [
|
| 33 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 34 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 35 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 36 |
+
dict(type='FormatGCNInput'),
|
| 37 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 38 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 39 |
+
]
|
| 40 |
+
test_pipeline = [
|
| 41 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 42 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 43 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 44 |
+
dict(type='FormatGCNInput'),
|
| 45 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 46 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 47 |
+
]
|
| 48 |
+
data = dict(
|
| 49 |
+
videos_per_gpu=16,
|
| 50 |
+
workers_per_gpu=4,
|
| 51 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 52 |
+
train=dict(
|
| 53 |
+
type='PoseDataset',
|
| 54 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 55 |
+
pipeline=[
|
| 56 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 57 |
+
dict(type='RandomRot', theta=0.2),
|
| 58 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 59 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 60 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 61 |
+
dict(type='FormatGCNInput'),
|
| 62 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 63 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 64 |
+
],
|
| 65 |
+
split='xsub_train'),
|
| 66 |
+
val=dict(
|
| 67 |
+
type='PoseDataset',
|
| 68 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 69 |
+
pipeline=[
|
| 70 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 71 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 72 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 73 |
+
dict(type='FormatGCNInput'),
|
| 74 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 75 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 76 |
+
],
|
| 77 |
+
split='xsub_val'),
|
| 78 |
+
test=dict(
|
| 79 |
+
type='PoseDataset',
|
| 80 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 81 |
+
pipeline=[
|
| 82 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 83 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 84 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 85 |
+
dict(type='FormatGCNInput'),
|
| 86 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 87 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 88 |
+
],
|
| 89 |
+
split='xsub_val'))
|
| 90 |
+
optimizer = dict(
|
| 91 |
+
type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005, nesterov=True)
|
| 92 |
+
optimizer_config = dict(grad_clip=None)
|
| 93 |
+
lr_config = dict(policy='CosineAnnealing', min_lr=0, by_epoch=False)
|
| 94 |
+
total_epochs = 150
|
| 95 |
+
checkpoint_config = dict(interval=1)
|
| 96 |
+
evaluation = dict(interval=1, metrics=['top_k_accuracy'])
|
| 97 |
+
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])
|
| 98 |
+
dist_params = dict(backend='nccl')
|
| 99 |
+
gpu_ids = range(0, 1)
|
ntu60_xsub/b_1/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4bd704f49e2c75cc65f49fc3231c412150197be00eb025d423300146a591f01c
|
| 3 |
+
size 6637515
|
ntu60_xsub/b_1/best_top1_acc_epoch_150.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0870bbceba1711ec865e3780428d5e91ff11240da65bb8974090e853b72a0587
|
| 3 |
+
size 32948721
|
ntu60_xsub/b_2/20240717_212351.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/b_2/20240717_212351.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/b_2/b_2.py
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
modality = 'b'
|
| 2 |
+
graph = 'nturgb+d'
|
| 3 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/b_2'
|
| 4 |
+
model = dict(
|
| 5 |
+
type='RecognizerGCN',
|
| 6 |
+
backbone=dict(
|
| 7 |
+
type='GCN_Module',
|
| 8 |
+
gcn_ratio=0.125,
|
| 9 |
+
gcn_ctr='T',
|
| 10 |
+
gcn_ada='T',
|
| 11 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 12 |
+
graph_cfg=dict(
|
| 13 |
+
layout='nturgb+d',
|
| 14 |
+
mode='random',
|
| 15 |
+
num_filter=8,
|
| 16 |
+
init_off=0.04,
|
| 17 |
+
init_std=0.02)),
|
| 18 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 19 |
+
dataset_type = 'PoseDataset'
|
| 20 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 21 |
+
train_pipeline = [
|
| 22 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 23 |
+
dict(type='RandomRot', theta=0.2),
|
| 24 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 25 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 26 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 27 |
+
dict(type='FormatGCNInput'),
|
| 28 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 29 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 30 |
+
]
|
| 31 |
+
val_pipeline = [
|
| 32 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 33 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 34 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 35 |
+
dict(type='FormatGCNInput'),
|
| 36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 38 |
+
]
|
| 39 |
+
test_pipeline = [
|
| 40 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 41 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 42 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 43 |
+
dict(type='FormatGCNInput'),
|
| 44 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 45 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 46 |
+
]
|
| 47 |
+
data = dict(
|
| 48 |
+
videos_per_gpu=16,
|
| 49 |
+
workers_per_gpu=4,
|
| 50 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 51 |
+
train=dict(
|
| 52 |
+
type='PoseDataset',
|
| 53 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 54 |
+
pipeline=[
|
| 55 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 56 |
+
dict(type='RandomRot', theta=0.2),
|
| 57 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 58 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 59 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 60 |
+
dict(type='FormatGCNInput'),
|
| 61 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 62 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 63 |
+
],
|
| 64 |
+
split='xsub_train'),
|
| 65 |
+
val=dict(
|
| 66 |
+
type='PoseDataset',
|
| 67 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 68 |
+
pipeline=[
|
| 69 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 70 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 71 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 72 |
+
dict(type='FormatGCNInput'),
|
| 73 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 74 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 75 |
+
],
|
| 76 |
+
split='xsub_val'),
|
| 77 |
+
test=dict(
|
| 78 |
+
type='PoseDataset',
|
| 79 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xsub_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)
|
ntu60_xsub/b_2/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:19976298b72cca45e66196a2dcc2d7ea29fde877e7d6b70a7aba6e957836da0b
|
| 3 |
+
size 6638245
|
ntu60_xsub/b_2/best_top1_acc_epoch_147.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ef8476866bf1aa2b047acbd02d27e1eee5da7a05ded6271f2707b8c83a04d2db
|
| 3 |
+
size 32944689
|
ntu60_xsub/b_3/20240716_141700.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/b_3/20240716_141700.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/b_3/b_3.py
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
modality = 'b'
|
| 2 |
+
graph = 'nturgb+d'
|
| 3 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/b_3'
|
| 4 |
+
model = dict(
|
| 5 |
+
type='RecognizerGCN',
|
| 6 |
+
backbone=dict(
|
| 7 |
+
type='GCN_Module',
|
| 8 |
+
gcn_ratio=0.125,
|
| 9 |
+
gcn_ctr='T',
|
| 10 |
+
gcn_ada='T',
|
| 11 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 12 |
+
graph_cfg=dict(
|
| 13 |
+
layout='nturgb+d',
|
| 14 |
+
mode='random',
|
| 15 |
+
num_filter=8,
|
| 16 |
+
init_off=0.04,
|
| 17 |
+
init_std=0.02)),
|
| 18 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 19 |
+
dataset_type = 'PoseDataset'
|
| 20 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 21 |
+
train_pipeline = [
|
| 22 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 23 |
+
dict(type='RandomRot', theta=0.2),
|
| 24 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 25 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 26 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 27 |
+
dict(type='FormatGCNInput'),
|
| 28 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 29 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 30 |
+
]
|
| 31 |
+
val_pipeline = [
|
| 32 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 33 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 34 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 35 |
+
dict(type='FormatGCNInput'),
|
| 36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 38 |
+
]
|
| 39 |
+
test_pipeline = [
|
| 40 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 41 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 42 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 43 |
+
dict(type='FormatGCNInput'),
|
| 44 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 45 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 46 |
+
]
|
| 47 |
+
data = dict(
|
| 48 |
+
videos_per_gpu=16,
|
| 49 |
+
workers_per_gpu=4,
|
| 50 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 51 |
+
train=dict(
|
| 52 |
+
type='PoseDataset',
|
| 53 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 54 |
+
pipeline=[
|
| 55 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 56 |
+
dict(type='RandomRot', theta=0.2),
|
| 57 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 58 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 59 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 60 |
+
dict(type='FormatGCNInput'),
|
| 61 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 62 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 63 |
+
],
|
| 64 |
+
split='xsub_train'),
|
| 65 |
+
val=dict(
|
| 66 |
+
type='PoseDataset',
|
| 67 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 68 |
+
pipeline=[
|
| 69 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 70 |
+
dict(type='GenSkeFeat', feats=['b']),
|
| 71 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 72 |
+
dict(type='FormatGCNInput'),
|
| 73 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 74 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 75 |
+
],
|
| 76 |
+
split='xsub_val'),
|
| 77 |
+
test=dict(
|
| 78 |
+
type='PoseDataset',
|
| 79 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xsub_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)
|
ntu60_xsub/b_3/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:65545b3d1d70709d0a7b431d271168343b69b50096256999c34ab4468e9fb3ca
|
| 3 |
+
size 6638553
|
ntu60_xsub/b_3/best_top1_acc_epoch_150.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f94efe090f86c6d834bfe1f695e9d70d0615098d98bffdebeae7a35460d2062f
|
| 3 |
+
size 32944689
|
ntu60_xsub/bm/20240716_142226.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/bm/20240716_142226.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/bm/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9d0eb2c657721558d9aba51402d127f21c7aea9904b71e2fb210e65d6e7b675f
|
| 3 |
+
size 6638802
|
ntu60_xsub/bm/best_top1_acc_epoch_144.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9a9f998f9a7ec0b24b053cfada299d63729cca24582fc4df6c0df415cf6f918f
|
| 3 |
+
size 32944689
|
ntu60_xsub/bm/bm.py
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
modality = 'bm'
|
| 2 |
+
graph = 'nturgb+d'
|
| 3 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/bm'
|
| 4 |
+
model = dict(
|
| 5 |
+
type='RecognizerGCN',
|
| 6 |
+
backbone=dict(
|
| 7 |
+
type='GCN_Module',
|
| 8 |
+
gcn_ratio=0.125,
|
| 9 |
+
gcn_ctr='T',
|
| 10 |
+
gcn_ada='T',
|
| 11 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 12 |
+
graph_cfg=dict(
|
| 13 |
+
layout='nturgb+d',
|
| 14 |
+
mode='random',
|
| 15 |
+
num_filter=8,
|
| 16 |
+
init_off=0.04,
|
| 17 |
+
init_std=0.02)),
|
| 18 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 19 |
+
dataset_type = 'PoseDataset'
|
| 20 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 21 |
+
train_pipeline = [
|
| 22 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 23 |
+
dict(type='RandomRot', theta=0.2),
|
| 24 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 25 |
+
dict(type='GenSkeFeat', feats=['bm']),
|
| 26 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 27 |
+
dict(type='FormatGCNInput'),
|
| 28 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 29 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 30 |
+
]
|
| 31 |
+
val_pipeline = [
|
| 32 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 33 |
+
dict(type='GenSkeFeat', feats=['bm']),
|
| 34 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 35 |
+
dict(type='FormatGCNInput'),
|
| 36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 38 |
+
]
|
| 39 |
+
test_pipeline = [
|
| 40 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 41 |
+
dict(type='GenSkeFeat', feats=['bm']),
|
| 42 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 43 |
+
dict(type='FormatGCNInput'),
|
| 44 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 45 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 46 |
+
]
|
| 47 |
+
data = dict(
|
| 48 |
+
videos_per_gpu=16,
|
| 49 |
+
workers_per_gpu=4,
|
| 50 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 51 |
+
train=dict(
|
| 52 |
+
type='PoseDataset',
|
| 53 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 54 |
+
pipeline=[
|
| 55 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 56 |
+
dict(type='RandomRot', theta=0.2),
|
| 57 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 58 |
+
dict(type='GenSkeFeat', feats=['bm']),
|
| 59 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 60 |
+
dict(type='FormatGCNInput'),
|
| 61 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 62 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 63 |
+
],
|
| 64 |
+
split='xsub_train'),
|
| 65 |
+
val=dict(
|
| 66 |
+
type='PoseDataset',
|
| 67 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 68 |
+
pipeline=[
|
| 69 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 70 |
+
dict(type='GenSkeFeat', feats=['bm']),
|
| 71 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 72 |
+
dict(type='FormatGCNInput'),
|
| 73 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 74 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 75 |
+
],
|
| 76 |
+
split='xsub_val'),
|
| 77 |
+
test=dict(
|
| 78 |
+
type='PoseDataset',
|
| 79 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xsub_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)
|
ntu60_xsub/j_1/20240703_082538.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/j_1/20240703_082538.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/j_1/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a8fd9984b0ce5a420e24b6a9297abf340f96f7488f2c54e396ecbbdccdece868
|
| 3 |
+
size 6638847
|
ntu60_xsub/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:8106680babcd4a9831fe58babc9c24db7fa454e548ddabdbd9ef953539ffe16e
|
| 3 |
+
size 32302963
|
ntu60_xsub/j_1/j_1.py
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
modality = 'j'
|
| 2 |
+
graph = 'nturgb+d'
|
| 3 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/j_1'
|
| 4 |
+
model = dict(
|
| 5 |
+
type='RecognizerGCN',
|
| 6 |
+
backbone=dict(
|
| 7 |
+
type='GCN_Module',
|
| 8 |
+
gcn_ratio=0.125,
|
| 9 |
+
gcn_ctr='T',
|
| 10 |
+
gcn_ada='T',
|
| 11 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 12 |
+
graph_cfg=dict(
|
| 13 |
+
layout='nturgb+d',
|
| 14 |
+
mode='random',
|
| 15 |
+
num_filter=8,
|
| 16 |
+
init_off=0.04,
|
| 17 |
+
init_std=0.02)),
|
| 18 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 19 |
+
dataset_type = 'PoseDataset'
|
| 20 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 21 |
+
train_pipeline = [
|
| 22 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 23 |
+
dict(type='RandomRot', theta=0.2),
|
| 24 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 25 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 26 |
+
dict(type='FormatGCNInput'),
|
| 27 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 28 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 29 |
+
]
|
| 30 |
+
val_pipeline = [
|
| 31 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 32 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 33 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 34 |
+
dict(type='FormatGCNInput'),
|
| 35 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 36 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 37 |
+
]
|
| 38 |
+
test_pipeline = [
|
| 39 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 40 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 41 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 42 |
+
dict(type='FormatGCNInput'),
|
| 43 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 44 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 45 |
+
]
|
| 46 |
+
data = dict(
|
| 47 |
+
videos_per_gpu=16,
|
| 48 |
+
workers_per_gpu=4,
|
| 49 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 50 |
+
train=dict(
|
| 51 |
+
type='PoseDataset',
|
| 52 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 53 |
+
pipeline=[
|
| 54 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 55 |
+
dict(type='RandomRot', theta=0.2),
|
| 56 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 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='xsub_train'),
|
| 63 |
+
val=dict(
|
| 64 |
+
type='PoseDataset',
|
| 65 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 66 |
+
pipeline=[
|
| 67 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 68 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 69 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 70 |
+
dict(type='FormatGCNInput'),
|
| 71 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 72 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 73 |
+
],
|
| 74 |
+
split='xsub_val'),
|
| 75 |
+
test=dict(
|
| 76 |
+
type='PoseDataset',
|
| 77 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xsub_val'))
|
| 87 |
+
optimizer = dict(
|
| 88 |
+
type='SGD', lr=0.05, 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, 2)
|
ntu60_xsub/j_2/20240707_153115.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/j_2/20240707_153115.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/j_2/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:86393749f4195f65c5d1b86af8513d5ed39bac8e67c86583fb7fdda865b41d8a
|
| 3 |
+
size 6637149
|
ntu60_xsub/j_2/best_top1_acc_epoch_149.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cc521f426ecbf6a7fa2979e44e4fee126b76c06091acefdeff5d37d13a5d0c59
|
| 3 |
+
size 32944689
|
ntu60_xsub/j_2/j_2.py
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
modality = 'j'
|
| 2 |
+
graph = 'nturgb+d'
|
| 3 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/j_2'
|
| 4 |
+
model = dict(
|
| 5 |
+
type='RecognizerGCN',
|
| 6 |
+
backbone=dict(
|
| 7 |
+
type='GCN_Module',
|
| 8 |
+
gcn_ratio=0.125,
|
| 9 |
+
gcn_ctr='T',
|
| 10 |
+
gcn_ada='T',
|
| 11 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 12 |
+
graph_cfg=dict(
|
| 13 |
+
layout='nturgb+d',
|
| 14 |
+
mode='random',
|
| 15 |
+
num_filter=8,
|
| 16 |
+
init_off=0.04,
|
| 17 |
+
init_std=0.02)),
|
| 18 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 19 |
+
dataset_type = 'PoseDataset'
|
| 20 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 21 |
+
train_pipeline = [
|
| 22 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 23 |
+
dict(type='RandomRot', theta=0.2),
|
| 24 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 25 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 26 |
+
dict(type='FormatGCNInput'),
|
| 27 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 28 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 29 |
+
]
|
| 30 |
+
val_pipeline = [
|
| 31 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 32 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 33 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 34 |
+
dict(type='FormatGCNInput'),
|
| 35 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 36 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 37 |
+
]
|
| 38 |
+
test_pipeline = [
|
| 39 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 40 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 41 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 42 |
+
dict(type='FormatGCNInput'),
|
| 43 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 44 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 45 |
+
]
|
| 46 |
+
data = dict(
|
| 47 |
+
videos_per_gpu=16,
|
| 48 |
+
workers_per_gpu=4,
|
| 49 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 50 |
+
train=dict(
|
| 51 |
+
type='PoseDataset',
|
| 52 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 53 |
+
pipeline=[
|
| 54 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 55 |
+
dict(type='RandomRot', theta=0.2),
|
| 56 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 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='xsub_train'),
|
| 63 |
+
val=dict(
|
| 64 |
+
type='PoseDataset',
|
| 65 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 66 |
+
pipeline=[
|
| 67 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 68 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 69 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 70 |
+
dict(type='FormatGCNInput'),
|
| 71 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 72 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 73 |
+
],
|
| 74 |
+
split='xsub_val'),
|
| 75 |
+
test=dict(
|
| 76 |
+
type='PoseDataset',
|
| 77 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xsub_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)
|
ntu60_xsub/j_3/20240717_212459.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/j_3/20240717_212459.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/j_3/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7265074179909a76b167eedb569b65daf914ebaf5fca52b259f65c5d3db1d0c3
|
| 3 |
+
size 6640275
|
ntu60_xsub/j_3/best_top1_acc_epoch_135.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2090d11d4301eef9ed9f36354fdaaf069b0323a6931ee76dbb646d8bebf6704b
|
| 3 |
+
size 32944689
|
ntu60_xsub/j_3/j_3.py
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
modality = 'j'
|
| 2 |
+
graph = 'nturgb+d'
|
| 3 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/j_3'
|
| 4 |
+
model = dict(
|
| 5 |
+
type='RecognizerGCN',
|
| 6 |
+
backbone=dict(
|
| 7 |
+
type='GCN_Module',
|
| 8 |
+
gcn_ratio=0.125,
|
| 9 |
+
gcn_ctr='T',
|
| 10 |
+
gcn_ada='T',
|
| 11 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 12 |
+
graph_cfg=dict(
|
| 13 |
+
layout='nturgb+d',
|
| 14 |
+
mode='random',
|
| 15 |
+
num_filter=8,
|
| 16 |
+
init_off=0.04,
|
| 17 |
+
init_std=0.02)),
|
| 18 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 19 |
+
dataset_type = 'PoseDataset'
|
| 20 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 21 |
+
train_pipeline = [
|
| 22 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 23 |
+
dict(type='RandomRot', theta=0.2),
|
| 24 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 25 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 26 |
+
dict(type='FormatGCNInput'),
|
| 27 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 28 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 29 |
+
]
|
| 30 |
+
val_pipeline = [
|
| 31 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 32 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 33 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 34 |
+
dict(type='FormatGCNInput'),
|
| 35 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 36 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 37 |
+
]
|
| 38 |
+
test_pipeline = [
|
| 39 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 40 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 41 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 42 |
+
dict(type='FormatGCNInput'),
|
| 43 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 44 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 45 |
+
]
|
| 46 |
+
data = dict(
|
| 47 |
+
videos_per_gpu=16,
|
| 48 |
+
workers_per_gpu=4,
|
| 49 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 50 |
+
train=dict(
|
| 51 |
+
type='PoseDataset',
|
| 52 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 53 |
+
pipeline=[
|
| 54 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 55 |
+
dict(type='RandomRot', theta=0.2),
|
| 56 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 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='xsub_train'),
|
| 63 |
+
val=dict(
|
| 64 |
+
type='PoseDataset',
|
| 65 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 66 |
+
pipeline=[
|
| 67 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 68 |
+
dict(type='GenSkeFeat', feats=['j']),
|
| 69 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 70 |
+
dict(type='FormatGCNInput'),
|
| 71 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 72 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 73 |
+
],
|
| 74 |
+
split='xsub_val'),
|
| 75 |
+
test=dict(
|
| 76 |
+
type='PoseDataset',
|
| 77 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xsub_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)
|
ntu60_xsub/jm/20240716_142246.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/jm/20240716_142246.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/jm/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6cf0f6059cef9957cc9e149181352f8505c1a6d99b19a2d68d4a412e7f90a00a
|
| 3 |
+
size 6636961
|
ntu60_xsub/jm/best_top1_acc_epoch_141.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6615f8923f98776d08ecbd89fd5630bd1a38071716a633d042a3c403c246d1c0
|
| 3 |
+
size 32944689
|
ntu60_xsub/jm/jm.py
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
modality = 'jm'
|
| 2 |
+
graph = 'nturgb+d'
|
| 3 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/jm'
|
| 4 |
+
model = dict(
|
| 5 |
+
type='RecognizerGCN',
|
| 6 |
+
backbone=dict(
|
| 7 |
+
type='GCN_Module',
|
| 8 |
+
gcn_ratio=0.125,
|
| 9 |
+
gcn_ctr='T',
|
| 10 |
+
gcn_ada='T',
|
| 11 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 12 |
+
graph_cfg=dict(
|
| 13 |
+
layout='nturgb+d',
|
| 14 |
+
mode='random',
|
| 15 |
+
num_filter=8,
|
| 16 |
+
init_off=0.04,
|
| 17 |
+
init_std=0.02)),
|
| 18 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 19 |
+
dataset_type = 'PoseDataset'
|
| 20 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 21 |
+
train_pipeline = [
|
| 22 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 23 |
+
dict(type='RandomRot', theta=0.2),
|
| 24 |
+
dict(type='GenSkeFeat', feats=['jm']),
|
| 25 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 26 |
+
dict(type='FormatGCNInput'),
|
| 27 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 28 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 29 |
+
]
|
| 30 |
+
val_pipeline = [
|
| 31 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 32 |
+
dict(type='GenSkeFeat', feats=['jm']),
|
| 33 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 34 |
+
dict(type='FormatGCNInput'),
|
| 35 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 36 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 37 |
+
]
|
| 38 |
+
test_pipeline = [
|
| 39 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 40 |
+
dict(type='GenSkeFeat', feats=['jm']),
|
| 41 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 42 |
+
dict(type='FormatGCNInput'),
|
| 43 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 44 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 45 |
+
]
|
| 46 |
+
data = dict(
|
| 47 |
+
videos_per_gpu=16,
|
| 48 |
+
workers_per_gpu=4,
|
| 49 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 50 |
+
train=dict(
|
| 51 |
+
type='PoseDataset',
|
| 52 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 53 |
+
pipeline=[
|
| 54 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 55 |
+
dict(type='RandomRot', theta=0.2),
|
| 56 |
+
dict(type='GenSkeFeat', feats=['jm']),
|
| 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='xsub_train'),
|
| 63 |
+
val=dict(
|
| 64 |
+
type='PoseDataset',
|
| 65 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 66 |
+
pipeline=[
|
| 67 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 68 |
+
dict(type='GenSkeFeat', feats=['jm']),
|
| 69 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 70 |
+
dict(type='FormatGCNInput'),
|
| 71 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 72 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 73 |
+
],
|
| 74 |
+
split='xsub_val'),
|
| 75 |
+
test=dict(
|
| 76 |
+
type='PoseDataset',
|
| 77 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xsub_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)
|
ntu60_xsub/k_1/20240717_212513.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/k_1/20240717_212513.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/k_1/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4fe471bb63f4c76c901d82c60f8292141f5a591674d3b7b69f879bb4def4e18a
|
| 3 |
+
size 6637595
|
ntu60_xsub/k_1/best_top1_acc_epoch_142.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:76d22352971f82a694dde9a3cd4995082f648c178dcc3fdee2c41f9f836ba15e
|
| 3 |
+
size 32944689
|
ntu60_xsub/k_1/k_1.py
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
modality = 'k'
|
| 2 |
+
graph = 'nturgb+d'
|
| 3 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/k_2'
|
| 4 |
+
model = dict(
|
| 5 |
+
type='RecognizerGCN',
|
| 6 |
+
backbone=dict(
|
| 7 |
+
type='GCN_Module',
|
| 8 |
+
gcn_ratio=0.125,
|
| 9 |
+
gcn_ctr='T',
|
| 10 |
+
gcn_ada='T',
|
| 11 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 12 |
+
graph_cfg=dict(
|
| 13 |
+
layout='nturgb+d',
|
| 14 |
+
mode='random',
|
| 15 |
+
num_filter=8,
|
| 16 |
+
init_off=0.04,
|
| 17 |
+
init_std=0.02)),
|
| 18 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 19 |
+
dataset_type = 'PoseDataset'
|
| 20 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 21 |
+
train_pipeline = [
|
| 22 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 23 |
+
dict(type='RandomRot', theta=0.2),
|
| 24 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 25 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 26 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 27 |
+
dict(type='FormatGCNInput'),
|
| 28 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 29 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 30 |
+
]
|
| 31 |
+
val_pipeline = [
|
| 32 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 33 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 34 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 35 |
+
dict(type='FormatGCNInput'),
|
| 36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 38 |
+
]
|
| 39 |
+
test_pipeline = [
|
| 40 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 41 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 42 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 43 |
+
dict(type='FormatGCNInput'),
|
| 44 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 45 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 46 |
+
]
|
| 47 |
+
data = dict(
|
| 48 |
+
videos_per_gpu=16,
|
| 49 |
+
workers_per_gpu=4,
|
| 50 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 51 |
+
train=dict(
|
| 52 |
+
type='PoseDataset',
|
| 53 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 54 |
+
pipeline=[
|
| 55 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 56 |
+
dict(type='RandomRot', theta=0.2),
|
| 57 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 58 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 59 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 60 |
+
dict(type='FormatGCNInput'),
|
| 61 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 62 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 63 |
+
],
|
| 64 |
+
split='xsub_train'),
|
| 65 |
+
val=dict(
|
| 66 |
+
type='PoseDataset',
|
| 67 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 68 |
+
pipeline=[
|
| 69 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 70 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 71 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 72 |
+
dict(type='FormatGCNInput'),
|
| 73 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 74 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 75 |
+
],
|
| 76 |
+
split='xsub_val'),
|
| 77 |
+
test=dict(
|
| 78 |
+
type='PoseDataset',
|
| 79 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xsub_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)
|
ntu60_xsub/k_2/20240716_142137.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/k_2/20240716_142137.log.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ntu60_xsub/k_2/best_pred.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:980441f06551b5ca607b1cd989cea09246dd7f0aeff88efec4adec662b6d74df
|
| 3 |
+
size 6638454
|
ntu60_xsub/k_2/best_top1_acc_epoch_148.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b02240970c4acef27302ec970f9910e39bf7f95bbf3a4acc59378c3a2a9c8b4f
|
| 3 |
+
size 32944689
|
ntu60_xsub/k_2/k_2.py
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
modality = 'k'
|
| 2 |
+
graph = 'nturgb+d'
|
| 3 |
+
work_dir = './work_dirs/test_aclnet/ntu60_xsub/k_1'
|
| 4 |
+
model = dict(
|
| 5 |
+
type='RecognizerGCN',
|
| 6 |
+
backbone=dict(
|
| 7 |
+
type='GCN_Module',
|
| 8 |
+
gcn_ratio=0.125,
|
| 9 |
+
gcn_ctr='T',
|
| 10 |
+
gcn_ada='T',
|
| 11 |
+
tcn_ms_cfg=[(3, 1), (3, 2), (3, 3), (3, 4), ('max', 3), '1x1'],
|
| 12 |
+
graph_cfg=dict(
|
| 13 |
+
layout='nturgb+d',
|
| 14 |
+
mode='random',
|
| 15 |
+
num_filter=8,
|
| 16 |
+
init_off=0.04,
|
| 17 |
+
init_std=0.02)),
|
| 18 |
+
cls_head=dict(type='SimpleHead', data_cfg='ntu60', num_classes=60, in_channels=384))
|
| 19 |
+
dataset_type = 'PoseDataset'
|
| 20 |
+
ann_file = '/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl'
|
| 21 |
+
train_pipeline = [
|
| 22 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 23 |
+
dict(type='RandomRot', theta=0.2),
|
| 24 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 25 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 26 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 27 |
+
dict(type='FormatGCNInput'),
|
| 28 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 29 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 30 |
+
]
|
| 31 |
+
val_pipeline = [
|
| 32 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 33 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 34 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 35 |
+
dict(type='FormatGCNInput'),
|
| 36 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 37 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 38 |
+
]
|
| 39 |
+
test_pipeline = [
|
| 40 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 41 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 42 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=10),
|
| 43 |
+
dict(type='FormatGCNInput'),
|
| 44 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 45 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 46 |
+
]
|
| 47 |
+
data = dict(
|
| 48 |
+
videos_per_gpu=16,
|
| 49 |
+
workers_per_gpu=4,
|
| 50 |
+
test_dataloader=dict(videos_per_gpu=1),
|
| 51 |
+
train=dict(
|
| 52 |
+
type='PoseDataset',
|
| 53 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 54 |
+
pipeline=[
|
| 55 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 56 |
+
dict(type='RandomRot', theta=0.2),
|
| 57 |
+
dict(type='Spatial_Flip', dataset='nturgb+d', p=0.5),
|
| 58 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 59 |
+
dict(type='UniformSampleDecode', clip_len=100),
|
| 60 |
+
dict(type='FormatGCNInput'),
|
| 61 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 62 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 63 |
+
],
|
| 64 |
+
split='xsub_train'),
|
| 65 |
+
val=dict(
|
| 66 |
+
type='PoseDataset',
|
| 67 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_3danno.pkl',
|
| 68 |
+
pipeline=[
|
| 69 |
+
dict(type='PreNormalize3D', align_spine=False),
|
| 70 |
+
dict(type='GenSkeFeat', feats=['k']),
|
| 71 |
+
dict(type='UniformSampleDecode', clip_len=100, num_clips=1),
|
| 72 |
+
dict(type='FormatGCNInput'),
|
| 73 |
+
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
|
| 74 |
+
dict(type='ToTensor', keys=['keypoint'])
|
| 75 |
+
],
|
| 76 |
+
split='xsub_val'),
|
| 77 |
+
test=dict(
|
| 78 |
+
type='PoseDataset',
|
| 79 |
+
ann_file='/data/lhd/pyskl_data/nturgbd/ntu60_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='xsub_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)
|