-
Notifications
You must be signed in to change notification settings - Fork 2
/
gcn_adapter_train.yaml
156 lines (142 loc) · 4.36 KB
/
gcn_adapter_train.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
data:
modality: "pose"
train_pipeline:
dataset:
_target_: openhands.datasets.isolated.WLASLDataset
split_file: /training_data/wlasl_new.json
root_dir: /path/to/poses/
splits: "train"
modality: "pose"
transforms:
- PoseSelect:
preset: mediapipe_holistic_minimal_27
- CenterAndScaleNormalize:
reference_points_preset: shoulder_mediapipe_holistic_minimal_27
scale_factor: 1
- ShearTransform:
shear_std: 0.1
- RotatationTransform:
rotation_std: 0.1
dataloader:
_target_: torch.utils.data.DataLoader
batch_size: 32
shuffle: true
num_workers: 6
pin_memory: true
drop_last: true
valid_pipeline:
dataset:
_target_: openhands.datasets.isolated.WLASLDataset
split_file: /training_data/wlasl_new.json
root_dir: /path/to/poses/
splits: "test"
modality: "pose"
transforms:
- PoseSelect:
preset: mediapipe_holistic_minimal_27
- CenterAndScaleNormalize:
reference_points_preset: shoulder_mediapipe_holistic_minimal_27
scale_factor: 1
dataloader:
_target_: torch.utils.data.DataLoader
batch_size: 32
shuffle: true
num_workers: 3
pin_memory: true
drop_last: false
model:
encoder:
type: decoupled-gcn
params:
# pretrained adapters to fuse (only makes sense when learn_adapter is true)
adapters: []
# learns an adapter for the selected CLF heads. if there isn't a `pretrained` option on line 1, it'll learn all params (model+adpter)
learn_adapter: true
graph_args:
num_nodes: 27
inward_edges:
[
[2, 0],
[1, 0],
[0, 3],
[0, 4],
[3, 5],
[4, 6],
[5, 7],
[6, 17],
[7, 8],
[7, 9],
[9, 10],
[7, 11],
[11, 12],
[7, 13],
[13, 14],
[7, 15],
[15, 16],
[17, 18],
[17, 19],
[19, 20],
[17, 21],
[21, 22],
[17, 23],
[23, 24],
[17, 25],
[25, 26],
]
decoder:
type: param_fc
params:
dropout_ratio: 0
parameters:
[
"Handshape",
# "Selected Fingers",
# "Flexion",
# "Spread",
# "Spread Change",
# "Thumb Position",
# "Thumb Contact",
# "Sign Type",
# "Path Movement",
# "Repeated Movement",
# "Major Location",
"Minor Location",
# "Second Minor Location",
# "Contact",
# "Nondominant Handshape",
# "Wrist Twist",
# "Handshape Morpheme 2"
]
optim:
loss: 'CrossEntropyLoss'
optimizer:
name: Adam
params:
lr: 1e-3
scheduler:
name: CosineAnnealingLR
params:
last_epoch: -1
T_max: 10
trainer:
gpus: 1
max_epochs: 150
# resume_from_checkpoint: /path/to/model.ckpt
exp_manager:
create_tensorboard_logger: true
create_wandb_logger: true
wandb_logger_kwargs:
name: model_name_here
project: project_name_here
create_checkpoint_callback: true
checkpoint_callback_params:
monitor: "val_acc"
mode: "max"
save_top_k: 1
dirpath: "/pretrained_models/"
early_stopping_callback: true
early_stopping_params:
monitor: "val_acc"
patience: 80
verbose: true
mode: "max"