Aero-Ex commited on
Commit
c3473f9
·
verified ·
1 Parent(s): 95bd0f2

Upload 28 files

Browse files
Files changed (28) hide show
  1. G1-clip.ckpt +3 -0
  2. motionbricks_pose/version_1/checkpoints/model-step=2000000.ckpt +3 -0
  3. motionbricks_pose/version_1/config.yaml +245 -0
  4. motionbricks_pose/version_1/hparams.yaml +245 -0
  5. motionbricks_pose/version_1/meta.yaml +1 -0
  6. motionbricks_pose/version_1/skeleton/joints.p +0 -0
  7. motionbricks_pose/version_1/skeleton/parents.p +0 -0
  8. motionbricks_pose/version_1/skeleton/skeleton.yaml +6 -0
  9. motionbricks_pose/version_1/stats/motion/mean.npy +3 -0
  10. motionbricks_pose/version_1/stats/motion/std.npy +3 -0
  11. motionbricks_root/version_1/checkpoints/model-step=2000000.ckpt +3 -0
  12. motionbricks_root/version_1/config.yaml +223 -0
  13. motionbricks_root/version_1/hparams.yaml +223 -0
  14. motionbricks_root/version_1/meta.yaml +1 -0
  15. motionbricks_root/version_1/skeleton/joints.p +0 -0
  16. motionbricks_root/version_1/skeleton/parents.p +0 -0
  17. motionbricks_root/version_1/skeleton/skeleton.yaml +6 -0
  18. motionbricks_root/version_1/stats/motion/mean.npy +3 -0
  19. motionbricks_root/version_1/stats/motion/std.npy +3 -0
  20. motionbricks_vqvae/version_1/checkpoints/model-step=2000000.ckpt +3 -0
  21. motionbricks_vqvae/version_1/config.yaml +228 -0
  22. motionbricks_vqvae/version_1/hparams.yaml +228 -0
  23. motionbricks_vqvae/version_1/meta.yaml +1 -0
  24. motionbricks_vqvae/version_1/skeleton/joints.p +0 -0
  25. motionbricks_vqvae/version_1/skeleton/parents.p +0 -0
  26. motionbricks_vqvae/version_1/skeleton/skeleton.yaml +6 -0
  27. motionbricks_vqvae/version_1/stats/motion/mean.npy +3 -0
  28. motionbricks_vqvae/version_1/stats/motion/std.npy +3 -0
G1-clip.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:84afc7c229473351a24b0a7d79fc47be9dbb81bd12774285f2f60a3c0e9028df
3
+ size 7761041
motionbricks_pose/version_1/checkpoints/model-step=2000000.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0223c352b308ba638a499cc5c92104da36cb1d04cea2f8ce61d54a2489f853f1
3
+ size 1639126476
motionbricks_pose/version_1/config.yaml ADDED
@@ -0,0 +1,245 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ model:
2
+ backbone_network:
3
+ _target_: motionbricks.motion_backbone.neural_modules.pose_backbone.pose_backbone_network
4
+ motion_rep: ???
5
+ args:
6
+ pose_root_mode: ${model.args.pose_root_mode}
7
+ min_tokens: ${model.args.min_tokens}
8
+ max_tokens: ${model.args.max_tokens}
9
+ down_t: ${model.args.down_t}
10
+ pose_token_mlp_num_layers: 2
11
+ root_feat_width: 256
12
+ pose_feat_width: 640
13
+ token_length_feat_width: 128
14
+ text_emb_dim: 4096
15
+ text_embeddings: ${data.text_embeddings}
16
+ local_pose_feature: ${model.args.local_pose_feature}
17
+ cond_root_feature: ${model.args.cond_root_feature}
18
+ cond_root_feature_is_from_motion_rep: ${model.args.cond_root_feature_is_from_motion_rep}
19
+ n_embd: 1024
20
+ n_head: 16
21
+ n_layers: 16
22
+ pose_vqvae:
23
+ nb_code: ${model.pose_vqvae_network.nb_code}
24
+ code_dim: ${model.pose_vqvae_network.code_dim}
25
+ num_heads: ${model.pose_vqvae_network.num_heads}
26
+ has_codebook: ${oc.select:model.pose_vqvae_network.has_codebook,true}
27
+ root_vqvae:
28
+ nb_code: 1024
29
+ code_dim: 60
30
+ num_heads: 1
31
+ pose_vqvae_network:
32
+ _target_: motionbricks.vqvae.neural_modules.vqvae.VQVAE
33
+ pose_root_mode: pose
34
+ motion_rep: ???
35
+ encoder_state_dim: 241
36
+ decoder_state_dim: 329
37
+ decoder_target_cond_dim: 241
38
+ decoder_external_cond_dim: 2
39
+ feature_mode:
40
+ - joint_positions_and_rotations_and_hip_height
41
+ - pose
42
+ - joint_positions_and_rotations_and_hip_height
43
+ - root_without_hip_height_without_heading
44
+ quantizer_strategy: multihead_ema_reset
45
+ quantizer_mu: 0.99
46
+ nb_code: 100000000
47
+ code_dim: 256
48
+ output_emb_width: 256
49
+ down_t: 2
50
+ stride_t: 2
51
+ width: 512
52
+ depth: 4
53
+ dilation_growth_rate: 3
54
+ activation: relu
55
+ num_heads: 8
56
+ kmeans_init: false
57
+ norm: None
58
+ calculate_per_head_perplexity: true
59
+ cond_fusion_last_layer: false
60
+ _target_: motionbricks.motion_backbone.models.pose_model.MotionModel
61
+ motion_rep: ???
62
+ root_vqvae_network: null
63
+ pose_vqvae_motion_rep: local
64
+ denoiser:
65
+ backbone:
66
+ llm_shape: null
67
+ args:
68
+ min_tokens: 6
69
+ max_tokens: 16
70
+ down_t: 2
71
+ vqvae_model_ckpt_path: out/motionbricks_vqvae/version_1/checkpoints/model-step=2000000.ckpt
72
+ pose_vqvae_motion_rep: ${model.pose_vqvae_motion_rep}
73
+ incorrect_token_ratio_min: 0.0
74
+ incorrect_token_ratio_max: 1.0
75
+ masked_token_ratio: 0.8
76
+ batchsize_mul_factor: 2
77
+ pose_root_mode: pose
78
+ local_pose_feature: joint_positions_and_rotations_and_hip_height
79
+ cond_root_feature: root_without_hip_height
80
+ cond_root_feature_is_from_motion_rep: global
81
+ max_num_start_keyframes: 4
82
+ no_start_keyframe_prob: 0.0
83
+ max_num_end_keyframes: 4
84
+ no_end_keyframe_prob: 0.0
85
+ max_num_middle_keyframes: 8
86
+ no_middle_keyframe_prob: 0.5
87
+ prob_provide_text_emb: 0.2
88
+ keyframe_num_warmup_steps: 200000
89
+ floor_estimation: min_joint_height_within_windows
90
+ floor_estimation_window_time: 1.0
91
+ optimizer:
92
+ _target_: adam_atan2_pytorch.AdamAtan2
93
+ _partial_: true
94
+ lr: 0.0001
95
+ weight_decay: 0.0
96
+ scheduler:
97
+ _target_: motionbricks.motionlib.train.scheduler.WarmupCosineScheduler
98
+ _partial_: true
99
+ num_warmup_steps: 10000
100
+ num_training_steps: ${trainer.max_steps}
101
+ final_lr: 2.0e-06
102
+ last_epoch: -1
103
+ lt_kwargs:
104
+ interval: step
105
+ frequency: 1
106
+ trainer:
107
+ _target_: pytorch_lightning.Trainer
108
+ precision: 32
109
+ enable_progress_bar: false
110
+ profiler: null
111
+ check_val_every_n_epoch: null
112
+ detect_anomaly: false
113
+ num_sanity_val_steps: 0
114
+ max_steps: 2000001
115
+ gradient_clip_val: 0.5
116
+ log_every_n_steps: 50
117
+ val_check_interval: 50000
118
+ devices: 8
119
+ num_nodes: 4
120
+ accelerator: gpu
121
+ strategy: ddp
122
+ loggers:
123
+ out_dir: ${out_dir}
124
+ cfg_id: ${id}
125
+ max_steps: ${trainer.max_steps}
126
+ log_nsteps: ${trainer.log_every_n_steps}
127
+ use_wandb: true
128
+ wandb_run: ${wandb_run}
129
+ wandb_group: null
130
+ wandb_project: motionbricks
131
+ wandb_entity: null
132
+ wandb_run_name: motionbricks_pose
133
+ logger_project: motionbricks
134
+ callbacks:
135
+ callback_dict:
136
+ checkpoint_epoch_cb:
137
+ _target_: motionbricks.motionlib.train.callbacks.ckpt.ReadPermissionModelCheckpoint
138
+ monitor: null
139
+ dirpath: out/motionbricks_pose/version_1/checkpoints
140
+ filename: model-{step:07d}
141
+ save_last: false
142
+ save_top_k: -1
143
+ mode: min
144
+ every_n_train_steps: 50000
145
+ learning_rate_monitor:
146
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
147
+ logging_interval: step
148
+ autoresume:
149
+ _target_: motionbricks.motionlib.train.callbacks.autoresume.AutoResumeCallback
150
+ autoresume_after: 1260000
151
+ save_checkpoint_on_exception: true
152
+ pose_evaluate:
153
+ _target_: motionbricks.motion_backbone.callbacks.evaluation.PoseEvaluate
154
+ every_n_steps: 50001
155
+ train_dataloader: ???
156
+ val_dataloader: ???
157
+ seed: 2333
158
+ batch_size: 32
159
+ max_num_data: 40000
160
+ max_num_visualization: 32
161
+ out_dir: ${run_dir}/vis
162
+ only_rank_zero:
163
+ - learning_rate_monitor
164
+ - pose_evaluate
165
+ need_version: []
166
+ need_dataloaders:
167
+ - pose_evaluate
168
+ need_ema: []
169
+ need_motionbricks_test: []
170
+ need_log:
171
+ - pose_evaluate
172
+ need_autoresume:
173
+ - pose_evaluate
174
+ need_mask_cond_sampler: []
175
+ need_one_logger_callback:
176
+ - autoresume
177
+ dataloader:
178
+ _target_: torch.utils.data.DataLoader
179
+ batch_size: 128
180
+ num_workers: 11
181
+ shuffle: ???
182
+ persistent_workers: true
183
+ collate_fn:
184
+ _target_: motionbricks.motionlib.data.utils.collate_batch
185
+ _partial_: true
186
+ llm_shape: ${model.denoiser.backbone.llm_shape}
187
+ num_frames: null
188
+ data:
189
+ _target_: motionbricks.motionlib.data.motion_dataset.MotionDataset
190
+ name: motionbricks-G1
191
+ folder: ../datasets/motionbricks-G1
192
+ text_embeddings: null
193
+ split: ???
194
+ motion_sampler:
195
+ _target_: motionbricks.motionlib.data.motion_sampler.MaxDurationRandomCrop
196
+ max_seconds: 30
197
+ motion_loading_mode: memmap
198
+ use_natural_desc: true
199
+ use_short_desc: true
200
+ use_technical_desc: false
201
+ use_nv_overview_desc: false
202
+ nv_overview_prob: null
203
+ drop_text_prob: 0.1
204
+ augment_text: false
205
+ aug_text_suffix: ''
206
+ aug_text_prob: 0.75
207
+ aug_text_ind_range:
208
+ - 1
209
+ - 61
210
+ load_neutral_joints: false
211
+ timelines_mode: false
212
+ timelines_name: null
213
+ dataset_sampler: null
214
+ dataset_sampler_only_at_train: true
215
+ to_canonicalize: false
216
+ randomize_first_heading: true
217
+ loading_mode: motion_only
218
+ skeleton:
219
+ base_name: g1skel34
220
+ folder: out/motionbricks_pose/version_1/skeleton
221
+ t_pose: capture
222
+ orig_prefix: ''
223
+ name: g1skel34
224
+ _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34
225
+ motion_rep:
226
+ name: ${skeleton.name}_dual_root_global_joints
227
+ stats:
228
+ _target_: motionbricks.motionlib.core.utils.stats.Stats
229
+ folder: out/motionbricks_pose/version_1/stats/motion
230
+ _target_: motionbricks.motionlib.core.motion_reps.dual_root_global_joints.GlobalRootGlobalJoints
231
+ fps: 30
232
+ wandb_run: motionbricks_pose
233
+ resume: false
234
+ version: 1
235
+ cp: last_epoch
236
+ matmul_precision: high
237
+ seed: 7
238
+ id: ${hydra:runtime.choices.exp}_gpu${trainer.devices}_node${trainer.num_nodes}
239
+ out_dir: out/motionbricks_pose
240
+ run_dir: out/motionbricks_pose/version_1
241
+ pure_testing: false
242
+ config_version: 4
243
+ data_root: datasets
244
+ tmr_checkpoints_root: null
245
+ use_one_logger: false
motionbricks_pose/version_1/hparams.yaml ADDED
@@ -0,0 +1,245 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ model:
2
+ backbone_network:
3
+ _target_: motionbricks.motion_backbone.neural_modules.pose_backbone.pose_backbone_network
4
+ motion_rep: ???
5
+ args:
6
+ pose_root_mode: ${model.args.pose_root_mode}
7
+ min_tokens: ${model.args.min_tokens}
8
+ max_tokens: ${model.args.max_tokens}
9
+ down_t: ${model.args.down_t}
10
+ pose_token_mlp_num_layers: 2
11
+ root_feat_width: 256
12
+ pose_feat_width: 640
13
+ token_length_feat_width: 128
14
+ text_emb_dim: 4096
15
+ text_embeddings: ${data.text_embeddings}
16
+ local_pose_feature: ${model.args.local_pose_feature}
17
+ cond_root_feature: ${model.args.cond_root_feature}
18
+ cond_root_feature_is_from_motion_rep: ${model.args.cond_root_feature_is_from_motion_rep}
19
+ n_embd: 1024
20
+ n_head: 16
21
+ n_layers: 16
22
+ pose_vqvae:
23
+ nb_code: ${model.pose_vqvae_network.nb_code}
24
+ code_dim: ${model.pose_vqvae_network.code_dim}
25
+ num_heads: ${model.pose_vqvae_network.num_heads}
26
+ has_codebook: ${oc.select:model.pose_vqvae_network.has_codebook,true}
27
+ root_vqvae:
28
+ nb_code: 1024
29
+ code_dim: 60
30
+ num_heads: 1
31
+ pose_vqvae_network:
32
+ _target_: motionbricks.vqvae.neural_modules.vqvae.VQVAE
33
+ pose_root_mode: pose
34
+ motion_rep: ???
35
+ encoder_state_dim: 241
36
+ decoder_state_dim: 329
37
+ decoder_target_cond_dim: 241
38
+ decoder_external_cond_dim: 2
39
+ feature_mode:
40
+ - joint_positions_and_rotations_and_hip_height
41
+ - pose
42
+ - joint_positions_and_rotations_and_hip_height
43
+ - root_without_hip_height_without_heading
44
+ quantizer_strategy: multihead_ema_reset
45
+ quantizer_mu: 0.99
46
+ nb_code: 100000000
47
+ code_dim: 256
48
+ output_emb_width: 256
49
+ down_t: 2
50
+ stride_t: 2
51
+ width: 512
52
+ depth: 4
53
+ dilation_growth_rate: 3
54
+ activation: relu
55
+ num_heads: 8
56
+ kmeans_init: false
57
+ norm: None
58
+ calculate_per_head_perplexity: true
59
+ cond_fusion_last_layer: false
60
+ _target_: motionbricks.motion_backbone.models.pose_model.MotionModel
61
+ motion_rep: ???
62
+ root_vqvae_network: null
63
+ pose_vqvae_motion_rep: local
64
+ denoiser:
65
+ backbone:
66
+ llm_shape: null
67
+ args:
68
+ min_tokens: 6
69
+ max_tokens: 16
70
+ down_t: 2
71
+ vqvae_model_ckpt_path: out/motionbricks_vqvae/version_1/checkpoints/model-step=2000000.ckpt
72
+ pose_vqvae_motion_rep: ${model.pose_vqvae_motion_rep}
73
+ incorrect_token_ratio_min: 0.0
74
+ incorrect_token_ratio_max: 1.0
75
+ masked_token_ratio: 0.8
76
+ batchsize_mul_factor: 2
77
+ pose_root_mode: pose
78
+ local_pose_feature: joint_positions_and_rotations_and_hip_height
79
+ cond_root_feature: root_without_hip_height
80
+ cond_root_feature_is_from_motion_rep: global
81
+ max_num_start_keyframes: 4
82
+ no_start_keyframe_prob: 0.0
83
+ max_num_end_keyframes: 4
84
+ no_end_keyframe_prob: 0.0
85
+ max_num_middle_keyframes: 8
86
+ no_middle_keyframe_prob: 0.5
87
+ prob_provide_text_emb: 0.2
88
+ keyframe_num_warmup_steps: 200000
89
+ floor_estimation: min_joint_height_within_windows
90
+ floor_estimation_window_time: 1.0
91
+ optimizer:
92
+ _target_: adam_atan2_pytorch.AdamAtan2
93
+ _partial_: true
94
+ lr: 0.0001
95
+ weight_decay: 0.0
96
+ scheduler:
97
+ _target_: motionbricks.motionlib.train.scheduler.WarmupCosineScheduler
98
+ _partial_: true
99
+ num_warmup_steps: 10000
100
+ num_training_steps: ${trainer.max_steps}
101
+ final_lr: 2.0e-06
102
+ last_epoch: -1
103
+ lt_kwargs:
104
+ interval: step
105
+ frequency: 1
106
+ trainer:
107
+ _target_: pytorch_lightning.Trainer
108
+ precision: 32
109
+ enable_progress_bar: false
110
+ profiler: null
111
+ check_val_every_n_epoch: null
112
+ detect_anomaly: false
113
+ num_sanity_val_steps: 0
114
+ max_steps: 2000001
115
+ gradient_clip_val: 0.5
116
+ log_every_n_steps: 50
117
+ val_check_interval: 50000
118
+ devices: 8
119
+ num_nodes: 4
120
+ accelerator: gpu
121
+ strategy: ddp
122
+ loggers:
123
+ out_dir: ${out_dir}
124
+ cfg_id: ${id}
125
+ max_steps: ${trainer.max_steps}
126
+ log_nsteps: ${trainer.log_every_n_steps}
127
+ use_wandb: true
128
+ wandb_run: ${wandb_run}
129
+ wandb_group: null
130
+ wandb_project: motionbricks
131
+ wandb_entity: null
132
+ wandb_run_name: motionbricks_pose
133
+ logger_project: motionbricks
134
+ callbacks:
135
+ callback_dict:
136
+ checkpoint_epoch_cb:
137
+ _target_: motionbricks.motionlib.train.callbacks.ckpt.ReadPermissionModelCheckpoint
138
+ monitor: null
139
+ dirpath: null
140
+ filename: model-{step:07d}
141
+ save_last: false
142
+ save_top_k: -1
143
+ mode: min
144
+ every_n_train_steps: 50000
145
+ learning_rate_monitor:
146
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
147
+ logging_interval: step
148
+ autoresume:
149
+ _target_: motionbricks.motionlib.train.callbacks.autoresume.AutoResumeCallback
150
+ autoresume_after: 1260000
151
+ save_checkpoint_on_exception: true
152
+ pose_evaluate:
153
+ _target_: motionbricks.motion_backbone.callbacks.evaluation.PoseEvaluate
154
+ every_n_steps: 50001
155
+ train_dataloader: ???
156
+ val_dataloader: ???
157
+ seed: 2333
158
+ batch_size: 32
159
+ max_num_data: 40000
160
+ max_num_visualization: 32
161
+ out_dir: ${run_dir}/vis
162
+ only_rank_zero:
163
+ - learning_rate_monitor
164
+ - pose_evaluate
165
+ need_version: []
166
+ need_dataloaders:
167
+ - pose_evaluate
168
+ need_ema: []
169
+ need_motionbricks_test: []
170
+ need_log:
171
+ - pose_evaluate
172
+ need_autoresume:
173
+ - pose_evaluate
174
+ need_mask_cond_sampler: []
175
+ need_one_logger_callback:
176
+ - autoresume
177
+ dataloader:
178
+ _target_: torch.utils.data.DataLoader
179
+ batch_size: 128
180
+ num_workers: 11
181
+ shuffle: ???
182
+ persistent_workers: true
183
+ collate_fn:
184
+ _target_: motionbricks.motionlib.data.utils.collate_batch
185
+ _partial_: true
186
+ llm_shape: ${model.denoiser.backbone.llm_shape}
187
+ num_frames: null
188
+ data:
189
+ _target_: motionbricks.motionlib.data.motion_dataset.MotionDataset
190
+ name: motionbricks-G1
191
+ folder: ../datasets/motionbricks-G1
192
+ text_embeddings: null
193
+ split: ???
194
+ motion_sampler:
195
+ _target_: motionbricks.motionlib.data.motion_sampler.MaxDurationRandomCrop
196
+ max_seconds: 30
197
+ motion_loading_mode: memmap
198
+ use_natural_desc: true
199
+ use_short_desc: true
200
+ use_technical_desc: false
201
+ use_nv_overview_desc: false
202
+ nv_overview_prob: null
203
+ drop_text_prob: 0.1
204
+ augment_text: false
205
+ aug_text_suffix: ''
206
+ aug_text_prob: 0.75
207
+ aug_text_ind_range:
208
+ - 1
209
+ - 61
210
+ load_neutral_joints: false
211
+ timelines_mode: false
212
+ timelines_name: null
213
+ dataset_sampler: null
214
+ dataset_sampler_only_at_train: true
215
+ to_canonicalize: false
216
+ randomize_first_heading: true
217
+ loading_mode: motion_only
218
+ skeleton:
219
+ base_name: g1skel34
220
+ folder: out/motionbricks_pose/version_1/skeleton
221
+ t_pose: capture
222
+ orig_prefix: ''
223
+ name: g1skel34
224
+ _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34
225
+ motion_rep:
226
+ name: ${skeleton.name}_dual_root_global_joints
227
+ stats:
228
+ _target_: motionbricks.motionlib.core.utils.stats.Stats
229
+ folder: out/motionbricks_pose/version_1/stats/motion
230
+ _target_: motionbricks.motionlib.core.motion_reps.dual_root_global_joints.GlobalRootGlobalJoints
231
+ fps: 30
232
+ wandb_run: motionbricks_pose
233
+ resume: false
234
+ version: 1
235
+ cp: last_epoch
236
+ matmul_precision: high
237
+ seed: 7
238
+ id: ${hydra:runtime.choices.exp}_gpu${trainer.devices}_node${trainer.num_nodes}
239
+ out_dir: out/motionbricks_pose
240
+ run_dir: ???
241
+ pure_testing: false
242
+ config_version: 4
243
+ data_root: datasets
244
+ tmr_checkpoints_root: null
245
+ use_one_logger: false
motionbricks_pose/version_1/meta.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ wandb_run: motionbricks_pose
motionbricks_pose/version_1/skeleton/joints.p ADDED
Binary file (1.94 kB). View file
 
motionbricks_pose/version_1/skeleton/parents.p ADDED
Binary file (1.44 kB). View file
 
motionbricks_pose/version_1/skeleton/skeleton.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ base_name: g1skel34
2
+ folder: ${data.folder}/features/motion_rep/${motion_rep.name}_fps_${fps}/skeleton
3
+ t_pose: capture
4
+ orig_prefix: ''
5
+ name: g1skel34
6
+ _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34
motionbricks_pose/version_1/stats/motion/mean.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca390f0081e2373ab71e860a3546cb70cc11fdfac6ce525155403e047b66fdea
3
+ size 3472
motionbricks_pose/version_1/stats/motion/std.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fca7dd6135cbe96504b1307a7db97e9004556937a2fc72d139077b962cee6bd7
3
+ size 3472
motionbricks_root/version_1/checkpoints/model-step=2000000.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d7299a9b1f5aca35730c36dfe7ea28075708ac8266bf384fe8e2ef9c9aee69c7
3
+ size 409551754
motionbricks_root/version_1/config.yaml ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ model:
2
+ backbone_network:
3
+ _target_: motionbricks.motion_backbone.neural_modules.root_backbone.root_backbone_network
4
+ motion_rep: ???
5
+ args:
6
+ min_tokens: ${model.args.min_tokens}
7
+ max_tokens: ${model.args.max_tokens}
8
+ down_t: ${model.args.down_t}
9
+ use_hard_num_token_emb_for_root_prediction: ${model.args.use_hard_num_token_emb_for_root_prediction}
10
+ local_root_feature: ${model.args.local_root_feature}
11
+ global_root_feature: ${model.args.global_root_feature}
12
+ local_pose_feature: ${model.args.local_pose_feature}
13
+ pose_feat_dim: 256
14
+ local_root_feat_dim: 64
15
+ global_root_feat_dim: 64
16
+ text_emb_dim: 4096
17
+ text_embeddings: ${data.text_embeddings}
18
+ input_feat_mlp_num_layers: 2
19
+ n_embd: 512
20
+ n_head: 16
21
+ n_layers_shared: 3
22
+ n_layers_root_token: 3
23
+ width: 512
24
+ depth: 4
25
+ dilation_growth_rate: 3
26
+ activation: relu
27
+ norm: None
28
+ pose_vqvae:
29
+ nb_code: 1024
30
+ code_dim: 60
31
+ num_heads: 1
32
+ root_vqvae:
33
+ nb_code: 1024
34
+ code_dim: 60
35
+ num_heads: 1
36
+ _target_: motionbricks.motion_backbone.models.root_model.MotionModel
37
+ motion_rep: ???
38
+ root_vqvae_network: null
39
+ pose_vqvae_network: null
40
+ denoiser:
41
+ backbone:
42
+ llm_shape: null
43
+ args:
44
+ pose_root_mode: root
45
+ local_pose_feature: joint_positions_and_rotations_and_hip_height
46
+ local_root_feature: root
47
+ global_root_feature: root
48
+ min_tokens: 6
49
+ max_tokens: 16
50
+ use_hard_num_token_emb_for_root_prediction: true
51
+ min_off_target_tokens_to_sample: 25
52
+ max_off_target_tokens_to_sample: 40
53
+ prob_off_range_target_token: 0.0
54
+ prob_provide_num_tokens: 0.0
55
+ down_t: 2
56
+ vqvae_model_ckpt_path: null
57
+ batchsize_mul_factor: 2
58
+ max_num_start_keyframes: 4
59
+ no_start_keyframe_prob: 0.0
60
+ max_num_end_keyframes: 4
61
+ no_end_keyframe_prob: 0.0
62
+ prob_provide_text_emb: 0.0
63
+ num_token_loss_coeff: 1.0
64
+ global_root_loss_coeff: 2.0
65
+ local_root_loss_coeff: 1.0
66
+ keyframe_num_warmup_steps: 200000
67
+ floor_estimation: min_joint_height_within_windows
68
+ floor_estimation_window_time: 1.0
69
+ optimizer:
70
+ _target_: adam_atan2_pytorch.AdamAtan2
71
+ _partial_: true
72
+ lr: 0.0001
73
+ weight_decay: 0.0
74
+ scheduler:
75
+ _target_: motionbricks.motionlib.train.scheduler.WarmupCosineScheduler
76
+ _partial_: true
77
+ num_warmup_steps: 10000
78
+ num_training_steps: ${trainer.max_steps}
79
+ final_lr: 2.0e-06
80
+ last_epoch: -1
81
+ lt_kwargs:
82
+ interval: step
83
+ frequency: 1
84
+ trainer:
85
+ _target_: pytorch_lightning.Trainer
86
+ precision: 32
87
+ enable_progress_bar: false
88
+ profiler: null
89
+ check_val_every_n_epoch: null
90
+ detect_anomaly: false
91
+ num_sanity_val_steps: 0
92
+ max_steps: 2000001
93
+ gradient_clip_val: 0.5
94
+ log_every_n_steps: 50
95
+ val_check_interval: 50000
96
+ devices: 8
97
+ num_nodes: 2
98
+ accelerator: gpu
99
+ strategy: ddp
100
+ loggers:
101
+ out_dir: ${out_dir}
102
+ cfg_id: ${id}
103
+ max_steps: ${trainer.max_steps}
104
+ log_nsteps: ${trainer.log_every_n_steps}
105
+ use_wandb: true
106
+ wandb_run: ${wandb_run}
107
+ wandb_group: null
108
+ wandb_project: motionbricks
109
+ wandb_entity: null
110
+ wandb_run_name: motionbricks_root
111
+ logger_project: motionbricks
112
+ callbacks:
113
+ callback_dict:
114
+ checkpoint_epoch_cb:
115
+ _target_: motionbricks.motionlib.train.callbacks.ckpt.ReadPermissionModelCheckpoint
116
+ monitor: null
117
+ dirpath: out/motionbricks_root/version_1/checkpoints
118
+ filename: model-{step:07d}
119
+ save_last: false
120
+ save_top_k: -1
121
+ mode: min
122
+ every_n_train_steps: 50000
123
+ learning_rate_monitor:
124
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
125
+ logging_interval: step
126
+ autoresume:
127
+ _target_: motionbricks.motionlib.train.callbacks.autoresume.AutoResumeCallback
128
+ autoresume_after: 1260000
129
+ save_checkpoint_on_exception: true
130
+ pose_evaluate:
131
+ _target_: motionbricks.motion_backbone.callbacks.evaluation.PoseEvaluate
132
+ every_n_steps: 50001
133
+ train_dataloader: ???
134
+ val_dataloader: ???
135
+ seed: 2333
136
+ batch_size: 32
137
+ max_num_data: 40000
138
+ max_num_visualization: 32
139
+ out_dir: ${run_dir}/vis
140
+ only_rank_zero:
141
+ - learning_rate_monitor
142
+ - pose_evaluate
143
+ need_version: []
144
+ need_dataloaders:
145
+ - pose_evaluate
146
+ need_ema: []
147
+ need_motionbricks_test: []
148
+ need_log:
149
+ - pose_evaluate
150
+ need_autoresume:
151
+ - pose_evaluate
152
+ need_mask_cond_sampler: []
153
+ need_one_logger_callback:
154
+ - autoresume
155
+ dataloader:
156
+ _target_: torch.utils.data.DataLoader
157
+ batch_size: 128
158
+ num_workers: 11
159
+ shuffle: ???
160
+ persistent_workers: true
161
+ collate_fn:
162
+ _target_: motionbricks.motionlib.data.utils.collate_batch
163
+ _partial_: true
164
+ llm_shape: ${model.denoiser.backbone.llm_shape}
165
+ num_frames: null
166
+ data:
167
+ _target_: motionbricks.motionlib.data.motion_dataset.MotionDataset
168
+ name: motionbricks-G1
169
+ folder: ../datasets/motionbricks-G1
170
+ text_embeddings: null
171
+ split: ???
172
+ motion_sampler:
173
+ _target_: motionbricks.motionlib.data.motion_sampler.MaxDurationRandomCrop
174
+ max_seconds: 30
175
+ motion_loading_mode: memmap
176
+ use_natural_desc: true
177
+ use_short_desc: true
178
+ use_technical_desc: false
179
+ use_nv_overview_desc: false
180
+ nv_overview_prob: null
181
+ drop_text_prob: 0.1
182
+ augment_text: false
183
+ aug_text_suffix: ''
184
+ aug_text_prob: 0.75
185
+ aug_text_ind_range:
186
+ - 1
187
+ - 61
188
+ load_neutral_joints: false
189
+ timelines_mode: false
190
+ timelines_name: null
191
+ dataset_sampler: null
192
+ dataset_sampler_only_at_train: true
193
+ to_canonicalize: false
194
+ randomize_first_heading: true
195
+ loading_mode: motion_only
196
+ skeleton:
197
+ base_name: g1skel34
198
+ folder: out/motionbricks_root/version_1/skeleton
199
+ t_pose: capture
200
+ orig_prefix: ''
201
+ name: g1skel34
202
+ _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34
203
+ motion_rep:
204
+ name: ${skeleton.name}_dual_root_global_joints
205
+ stats:
206
+ _target_: motionbricks.motionlib.core.utils.stats.Stats
207
+ folder: out/motionbricks_root/version_1/stats/motion
208
+ _target_: motionbricks.motionlib.core.motion_reps.dual_root_global_joints.GlobalRootGlobalJoints
209
+ fps: 30
210
+ wandb_run: motionbricks_root
211
+ resume: false
212
+ version: 1
213
+ cp: last_epoch
214
+ matmul_precision: high
215
+ seed: 7
216
+ id: ${hydra:runtime.choices.exp}_gpu${trainer.devices}_node${trainer.num_nodes}
217
+ out_dir: out/motionbricks_root
218
+ run_dir: out/motionbricks_root/version_1
219
+ pure_testing: false
220
+ config_version: 4
221
+ data_root: datasets
222
+ tmr_checkpoints_root: null
223
+ use_one_logger: false
motionbricks_root/version_1/hparams.yaml ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ model:
2
+ backbone_network:
3
+ _target_: motionbricks.motion_backbone.neural_modules.root_backbone.root_backbone_network
4
+ motion_rep: ???
5
+ args:
6
+ min_tokens: ${model.args.min_tokens}
7
+ max_tokens: ${model.args.max_tokens}
8
+ down_t: ${model.args.down_t}
9
+ use_hard_num_token_emb_for_root_prediction: ${model.args.use_hard_num_token_emb_for_root_prediction}
10
+ local_root_feature: ${model.args.local_root_feature}
11
+ global_root_feature: ${model.args.global_root_feature}
12
+ local_pose_feature: ${model.args.local_pose_feature}
13
+ pose_feat_dim: 256
14
+ local_root_feat_dim: 64
15
+ global_root_feat_dim: 64
16
+ text_emb_dim: 4096
17
+ text_embeddings: ${data.text_embeddings}
18
+ input_feat_mlp_num_layers: 2
19
+ n_embd: 512
20
+ n_head: 16
21
+ n_layers_shared: 3
22
+ n_layers_root_token: 3
23
+ width: 512
24
+ depth: 4
25
+ dilation_growth_rate: 3
26
+ activation: relu
27
+ norm: None
28
+ pose_vqvae:
29
+ nb_code: 1024
30
+ code_dim: 60
31
+ num_heads: 1
32
+ root_vqvae:
33
+ nb_code: 1024
34
+ code_dim: 60
35
+ num_heads: 1
36
+ _target_: motionbricks.motion_backbone.models.root_model.MotionModel
37
+ motion_rep: ???
38
+ root_vqvae_network: null
39
+ pose_vqvae_network: null
40
+ denoiser:
41
+ backbone:
42
+ llm_shape: null
43
+ args:
44
+ pose_root_mode: root
45
+ local_pose_feature: joint_positions_and_rotations_and_hip_height
46
+ local_root_feature: root
47
+ global_root_feature: root
48
+ min_tokens: 6
49
+ max_tokens: 16
50
+ use_hard_num_token_emb_for_root_prediction: true
51
+ min_off_target_tokens_to_sample: 25
52
+ max_off_target_tokens_to_sample: 40
53
+ prob_off_range_target_token: 0.0
54
+ prob_provide_num_tokens: 0.0
55
+ down_t: 2
56
+ vqvae_model_ckpt_path: null
57
+ batchsize_mul_factor: 2
58
+ max_num_start_keyframes: 4
59
+ no_start_keyframe_prob: 0.0
60
+ max_num_end_keyframes: 4
61
+ no_end_keyframe_prob: 0.0
62
+ prob_provide_text_emb: 0.0
63
+ num_token_loss_coeff: 1.0
64
+ global_root_loss_coeff: 2.0
65
+ local_root_loss_coeff: 1.0
66
+ keyframe_num_warmup_steps: 200000
67
+ floor_estimation: min_joint_height_within_windows
68
+ floor_estimation_window_time: 1.0
69
+ optimizer:
70
+ _target_: adam_atan2_pytorch.AdamAtan2
71
+ _partial_: true
72
+ lr: 0.0001
73
+ weight_decay: 0.0
74
+ scheduler:
75
+ _target_: motionbricks.motionlib.train.scheduler.WarmupCosineScheduler
76
+ _partial_: true
77
+ num_warmup_steps: 10000
78
+ num_training_steps: ${trainer.max_steps}
79
+ final_lr: 2.0e-06
80
+ last_epoch: -1
81
+ lt_kwargs:
82
+ interval: step
83
+ frequency: 1
84
+ trainer:
85
+ _target_: pytorch_lightning.Trainer
86
+ precision: 32
87
+ enable_progress_bar: false
88
+ profiler: null
89
+ check_val_every_n_epoch: null
90
+ detect_anomaly: false
91
+ num_sanity_val_steps: 0
92
+ max_steps: 2000001
93
+ gradient_clip_val: 0.5
94
+ log_every_n_steps: 50
95
+ val_check_interval: 50000
96
+ devices: 8
97
+ num_nodes: 2
98
+ accelerator: gpu
99
+ strategy: ddp
100
+ loggers:
101
+ out_dir: ${out_dir}
102
+ cfg_id: ${id}
103
+ max_steps: ${trainer.max_steps}
104
+ log_nsteps: ${trainer.log_every_n_steps}
105
+ use_wandb: true
106
+ wandb_run: ${wandb_run}
107
+ wandb_group: null
108
+ wandb_project: motionbricks
109
+ wandb_entity: null
110
+ wandb_run_name: motionbricks_root
111
+ logger_project: motionbricks
112
+ callbacks:
113
+ callback_dict:
114
+ checkpoint_epoch_cb:
115
+ _target_: motionbricks.motionlib.train.callbacks.ckpt.ReadPermissionModelCheckpoint
116
+ monitor: null
117
+ dirpath: null
118
+ filename: model-{step:07d}
119
+ save_last: false
120
+ save_top_k: -1
121
+ mode: min
122
+ every_n_train_steps: 50000
123
+ learning_rate_monitor:
124
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
125
+ logging_interval: step
126
+ autoresume:
127
+ _target_: motionbricks.motionlib.train.callbacks.autoresume.AutoResumeCallback
128
+ autoresume_after: 1260000
129
+ save_checkpoint_on_exception: true
130
+ pose_evaluate:
131
+ _target_: motionbricks.motion_backbone.callbacks.evaluation.PoseEvaluate
132
+ every_n_steps: 50001
133
+ train_dataloader: ???
134
+ val_dataloader: ???
135
+ seed: 2333
136
+ batch_size: 32
137
+ max_num_data: 40000
138
+ max_num_visualization: 32
139
+ out_dir: ${run_dir}/vis
140
+ only_rank_zero:
141
+ - learning_rate_monitor
142
+ - pose_evaluate
143
+ need_version: []
144
+ need_dataloaders:
145
+ - pose_evaluate
146
+ need_ema: []
147
+ need_motionbricks_test: []
148
+ need_log:
149
+ - pose_evaluate
150
+ need_autoresume:
151
+ - pose_evaluate
152
+ need_mask_cond_sampler: []
153
+ need_one_logger_callback:
154
+ - autoresume
155
+ dataloader:
156
+ _target_: torch.utils.data.DataLoader
157
+ batch_size: 128
158
+ num_workers: 11
159
+ shuffle: ???
160
+ persistent_workers: true
161
+ collate_fn:
162
+ _target_: motionbricks.motionlib.data.utils.collate_batch
163
+ _partial_: true
164
+ llm_shape: ${model.denoiser.backbone.llm_shape}
165
+ num_frames: null
166
+ data:
167
+ _target_: motionbricks.motionlib.data.motion_dataset.MotionDataset
168
+ name: motionbricks-G1
169
+ folder: ../datasets/motionbricks-G1
170
+ text_embeddings: null
171
+ split: ???
172
+ motion_sampler:
173
+ _target_: motionbricks.motionlib.data.motion_sampler.MaxDurationRandomCrop
174
+ max_seconds: 30
175
+ motion_loading_mode: memmap
176
+ use_natural_desc: true
177
+ use_short_desc: true
178
+ use_technical_desc: false
179
+ use_nv_overview_desc: false
180
+ nv_overview_prob: null
181
+ drop_text_prob: 0.1
182
+ augment_text: false
183
+ aug_text_suffix: ''
184
+ aug_text_prob: 0.75
185
+ aug_text_ind_range:
186
+ - 1
187
+ - 61
188
+ load_neutral_joints: false
189
+ timelines_mode: false
190
+ timelines_name: null
191
+ dataset_sampler: null
192
+ dataset_sampler_only_at_train: true
193
+ to_canonicalize: false
194
+ randomize_first_heading: true
195
+ loading_mode: motion_only
196
+ skeleton:
197
+ base_name: g1skel34
198
+ folder: out/motionbricks_root/version_1/skeleton
199
+ t_pose: capture
200
+ orig_prefix: ''
201
+ name: g1skel34
202
+ _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34
203
+ motion_rep:
204
+ name: ${skeleton.name}_dual_root_global_joints
205
+ stats:
206
+ _target_: motionbricks.motionlib.core.utils.stats.Stats
207
+ folder: out/motionbricks_root/version_1/stats/motion
208
+ _target_: motionbricks.motionlib.core.motion_reps.dual_root_global_joints.GlobalRootGlobalJoints
209
+ fps: 30
210
+ wandb_run: motionbricks_root
211
+ resume: false
212
+ version: 1
213
+ cp: last_epoch
214
+ matmul_precision: high
215
+ seed: 7
216
+ id: ${hydra:runtime.choices.exp}_gpu${trainer.devices}_node${trainer.num_nodes}
217
+ out_dir: out/motionbricks_root
218
+ run_dir: ???
219
+ pure_testing: false
220
+ config_version: 4
221
+ data_root: datasets
222
+ tmr_checkpoints_root: null
223
+ use_one_logger: false
motionbricks_root/version_1/meta.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ wandb_run: motionbricks_root
motionbricks_root/version_1/skeleton/joints.p ADDED
Binary file (1.94 kB). View file
 
motionbricks_root/version_1/skeleton/parents.p ADDED
Binary file (1.44 kB). View file
 
motionbricks_root/version_1/skeleton/skeleton.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ base_name: g1skel34
2
+ folder: ${data.folder}/features/motion_rep/${motion_rep.name}_fps_${fps}/skeleton
3
+ t_pose: capture
4
+ orig_prefix: ''
5
+ name: g1skel34
6
+ _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34
motionbricks_root/version_1/stats/motion/mean.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca390f0081e2373ab71e860a3546cb70cc11fdfac6ce525155403e047b66fdea
3
+ size 3472
motionbricks_root/version_1/stats/motion/std.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fca7dd6135cbe96504b1307a7db97e9004556937a2fc72d139077b962cee6bd7
3
+ size 3472
motionbricks_vqvae/version_1/checkpoints/model-step=2000000.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f12a09d46ad390a8e2eecbe7219b2472fcab6b59df0a13f6a40c35cb6da4d99a
3
+ size 285607244
motionbricks_vqvae/version_1/config.yaml ADDED
@@ -0,0 +1,228 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ model:
2
+ pose_vqvae_network:
3
+ _target_: motionbricks.vqvae.neural_modules.vqvae.VQVAE
4
+ pose_root_mode: pose
5
+ motion_rep: ???
6
+ encoder_state_dim: 241
7
+ decoder_state_dim: 329
8
+ decoder_target_cond_dim: 241
9
+ decoder_external_cond_dim: 2
10
+ feature_mode:
11
+ - joint_positions_and_rotations_and_hip_height
12
+ - pose
13
+ - joint_positions_and_rotations_and_hip_height
14
+ - root_without_hip_height_without_heading
15
+ quantizer_strategy: multihead_ema_reset
16
+ quantizer_mu: 0.99
17
+ nb_code: 100000000
18
+ code_dim: 256
19
+ output_emb_width: 256
20
+ down_t: 2
21
+ stride_t: 2
22
+ width: 512
23
+ depth: 4
24
+ dilation_growth_rate: 3
25
+ activation: relu
26
+ num_heads: 8
27
+ kmeans_init: false
28
+ norm: None
29
+ calculate_per_head_perplexity: true
30
+ cond_fusion_last_layer: false
31
+ _target_: motionbricks.vqvae.models.motion_vqvae.MotionVQVAEModel
32
+ motion_rep: ???
33
+ pose_vqvae_motion_rep: local
34
+ root_vqvae_network: null
35
+ denoiser:
36
+ backbone:
37
+ llm_shape: null
38
+ args:
39
+ min_tokens: 6
40
+ max_tokens: 16
41
+ down_t: 2
42
+ commit_loss_coeff: 0.02
43
+ batchsize_mul_factor: 2
44
+ root_vqvae_max_num_keyframes: 5
45
+ root_vqvae_no_keyframe_prob: 0.25
46
+ pose_vqvae_max_num_keyframes: 10
47
+ pose_vqvae_no_keyframe_prob: 0.25
48
+ keyframe_num_warmup_steps: 200000
49
+ global_root_loss_coeff: 0.5
50
+ local_root_loss_coeff: 0.5
51
+ max_angle_diff: 5.0
52
+ max_norm_ratio: 0.2
53
+ percentage_of_perturbed_samples: 0.2
54
+ floor_estimation: min_joint_height_within_windows
55
+ floor_estimation_window_time: 1.0
56
+ skate_contact_loss_coeff: 0.01
57
+ joint_vel_loss_coeff: 2.0
58
+ optimizer:
59
+ _target_: adam_atan2_pytorch.AdamAtan2
60
+ _partial_: true
61
+ lr: 0.0002
62
+ weight_decay: 0.0
63
+ scheduler:
64
+ _target_: motionbricks.motionlib.train.scheduler.WarmupCosineScheduler
65
+ _partial_: true
66
+ num_warmup_steps: 10000
67
+ num_training_steps: ${trainer.max_steps}
68
+ final_lr: 4.0e-06
69
+ last_epoch: -1
70
+ lt_kwargs:
71
+ interval: step
72
+ frequency: 1
73
+ trainer:
74
+ _target_: pytorch_lightning.Trainer
75
+ precision: 32
76
+ enable_progress_bar: false
77
+ profiler: null
78
+ check_val_every_n_epoch: null
79
+ detect_anomaly: false
80
+ num_sanity_val_steps: 0
81
+ max_steps: 2000001
82
+ gradient_clip_val: 0.5
83
+ log_every_n_steps: 50
84
+ val_check_interval: 50000
85
+ devices: 8
86
+ num_nodes: 4
87
+ accelerator: gpu
88
+ strategy: ddp
89
+ loggers:
90
+ out_dir: ${out_dir}
91
+ cfg_id: ${id}
92
+ max_steps: ${trainer.max_steps}
93
+ log_nsteps: ${trainer.log_every_n_steps}
94
+ use_wandb: true
95
+ wandb_run: ${wandb_run}
96
+ wandb_group: null
97
+ wandb_project: motionbricks
98
+ wandb_entity: null
99
+ wandb_run_name: motionbricks_vqvae
100
+ logger_project: motionbricks
101
+ callbacks:
102
+ callback_dict:
103
+ checkpoint_epoch_cb:
104
+ _target_: motionbricks.motionlib.train.callbacks.ckpt.ReadPermissionModelCheckpoint
105
+ monitor: null
106
+ dirpath: out/motionbricks_vqvae/version_1/checkpoints
107
+ filename: model-{step:07d}
108
+ save_last: false
109
+ save_top_k: -1
110
+ mode: min
111
+ every_n_train_steps: 50000
112
+ learning_rate_monitor:
113
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
114
+ logging_interval: step
115
+ autoresume:
116
+ _target_: motionbricks.motionlib.train.callbacks.autoresume.AutoResumeCallback
117
+ autoresume_after: 1260000
118
+ save_checkpoint_on_exception: true
119
+ eval_visualize:
120
+ _target_: motionbricks.vqvae.callbacks.evaluation.VQVAE_Evaluate
121
+ every_n_steps: 50001
122
+ train_dataloader: ???
123
+ val_dataloader: ???
124
+ seed: 2333
125
+ batch_size: 32
126
+ max_num_data: 40000
127
+ max_num_visualization: 32
128
+ out_dir: ${run_dir}/vis
129
+ metrics:
130
+ - _target_: motionbricks.eval.metrics.FootSkateFromHeight
131
+ - _target_: motionbricks.eval.metrics.FootSkateFromContacts
132
+ - _target_: motionbricks.eval.metrics.JointPosConsistency
133
+ train_end:
134
+ _target_: motionbricks.motionlib.train.callbacks.train_end.TrainEndCallback
135
+ only_rank_zero:
136
+ - eval_visualize
137
+ - learning_rate_monitor
138
+ - evaluate
139
+ - train_end
140
+ need_version: []
141
+ need_dataloaders:
142
+ - eval_visualize
143
+ - evaluate
144
+ need_ema: []
145
+ need_motionbricks_test: []
146
+ need_log:
147
+ - eval_visualize
148
+ - evaluate
149
+ need_autoresume: []
150
+ need_mask_cond_sampler: []
151
+ need_one_logger_callback:
152
+ - autoresume
153
+ dataloader:
154
+ _target_: torch.utils.data.DataLoader
155
+ batch_size: 128
156
+ num_workers: 11
157
+ shuffle: ???
158
+ persistent_workers: true
159
+ collate_fn:
160
+ _target_: motionbricks.motionlib.data.utils.collate_batch
161
+ _partial_: true
162
+ llm_shape: ${model.denoiser.backbone.llm_shape}
163
+ num_frames: null
164
+ data:
165
+ _target_: motionbricks.motionlib.data.motion_dataset.MotionDataset
166
+ name: motionbricks-G1
167
+ folder: ../datasets/motionbricks-G1
168
+ text_embeddings: null
169
+ split: ???
170
+ motion_sampler:
171
+ _target_: motionbricks.motionlib.data.motion_sampler.MaxDurationRandomCrop
172
+ max_seconds: 30
173
+ motion_loading_mode: memmap
174
+ use_natural_desc: true
175
+ use_short_desc: true
176
+ use_technical_desc: false
177
+ use_nv_overview_desc: false
178
+ nv_overview_prob: null
179
+ drop_text_prob: 0.1
180
+ augment_text: false
181
+ aug_text_suffix: ''
182
+ aug_text_prob: 0.75
183
+ aug_text_ind_range:
184
+ - 1
185
+ - 61
186
+ load_neutral_joints: false
187
+ timelines_mode: false
188
+ timelines_name: null
189
+ dataset_sampler: null
190
+ dataset_sampler_only_at_train: true
191
+ to_canonicalize: false
192
+ randomize_first_heading: true
193
+ loading_mode: motion_only
194
+ skeleton:
195
+ base_name: g1skel34
196
+ folder: out/motionbricks_vqvae/version_1/skeleton
197
+ t_pose: capture
198
+ orig_prefix: ''
199
+ name: g1skel34
200
+ _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34
201
+ motion_rep:
202
+ name: ${skeleton.name}_dual_root_global_joints
203
+ stats:
204
+ _target_: motionbricks.motionlib.core.utils.stats.Stats
205
+ folder: out/motionbricks_vqvae/version_1/stats/motion
206
+ _target_: motionbricks.motionlib.core.motion_reps.dual_root_global_joints.GlobalRootGlobalJoints
207
+ fps: 30
208
+ wandb_run: motionbricks_vqvae
209
+ resume: false
210
+ version: 1
211
+ cp: last_epoch
212
+ matmul_precision: high
213
+ seed: 7
214
+ id: ${hydra:runtime.choices.exp}_gpu${trainer.devices}_node${trainer.num_nodes}
215
+ out_dir: out/motionbricks_vqvae
216
+ run_dir: out/motionbricks_vqvae/version_1
217
+ pure_testing: false
218
+ test:
219
+ unlimit_max_code: false
220
+ max_num_data: 16
221
+ min_length: 10
222
+ max_length: 60
223
+ ckpt_dir: null
224
+ ckpt_name: null
225
+ config_version: 4
226
+ data_root: datasets
227
+ tmr_checkpoints_root: null
228
+ use_one_logger: false
motionbricks_vqvae/version_1/hparams.yaml ADDED
@@ -0,0 +1,228 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ model:
2
+ pose_vqvae_network:
3
+ _target_: motionbricks.vqvae.neural_modules.vqvae.VQVAE
4
+ pose_root_mode: pose
5
+ motion_rep: ???
6
+ encoder_state_dim: 241
7
+ decoder_state_dim: 329
8
+ decoder_target_cond_dim: 241
9
+ decoder_external_cond_dim: 2
10
+ feature_mode:
11
+ - joint_positions_and_rotations_and_hip_height
12
+ - pose
13
+ - joint_positions_and_rotations_and_hip_height
14
+ - root_without_hip_height_without_heading
15
+ quantizer_strategy: multihead_ema_reset
16
+ quantizer_mu: 0.99
17
+ nb_code: 100000000
18
+ code_dim: 256
19
+ output_emb_width: 256
20
+ down_t: 2
21
+ stride_t: 2
22
+ width: 512
23
+ depth: 4
24
+ dilation_growth_rate: 3
25
+ activation: relu
26
+ num_heads: 8
27
+ kmeans_init: false
28
+ norm: None
29
+ calculate_per_head_perplexity: true
30
+ cond_fusion_last_layer: false
31
+ _target_: motionbricks.vqvae.models.motion_vqvae.MotionVQVAEModel
32
+ motion_rep: ???
33
+ pose_vqvae_motion_rep: local
34
+ root_vqvae_network: null
35
+ denoiser:
36
+ backbone:
37
+ llm_shape: null
38
+ args:
39
+ min_tokens: 6
40
+ max_tokens: 16
41
+ down_t: 2
42
+ commit_loss_coeff: 0.02
43
+ batchsize_mul_factor: 2
44
+ root_vqvae_max_num_keyframes: 5
45
+ root_vqvae_no_keyframe_prob: 0.25
46
+ pose_vqvae_max_num_keyframes: 10
47
+ pose_vqvae_no_keyframe_prob: 0.25
48
+ keyframe_num_warmup_steps: 200000
49
+ global_root_loss_coeff: 0.5
50
+ local_root_loss_coeff: 0.5
51
+ max_angle_diff: 5.0
52
+ max_norm_ratio: 0.2
53
+ percentage_of_perturbed_samples: 0.2
54
+ floor_estimation: min_joint_height_within_windows
55
+ floor_estimation_window_time: 1.0
56
+ skate_contact_loss_coeff: 0.01
57
+ joint_vel_loss_coeff: 2.0
58
+ optimizer:
59
+ _target_: adam_atan2_pytorch.AdamAtan2
60
+ _partial_: true
61
+ lr: 0.0002
62
+ weight_decay: 0.0
63
+ scheduler:
64
+ _target_: motionbricks.motionlib.train.scheduler.WarmupCosineScheduler
65
+ _partial_: true
66
+ num_warmup_steps: 10000
67
+ num_training_steps: ${trainer.max_steps}
68
+ final_lr: 4.0e-06
69
+ last_epoch: -1
70
+ lt_kwargs:
71
+ interval: step
72
+ frequency: 1
73
+ trainer:
74
+ _target_: pytorch_lightning.Trainer
75
+ precision: 32
76
+ enable_progress_bar: false
77
+ profiler: null
78
+ check_val_every_n_epoch: null
79
+ detect_anomaly: false
80
+ num_sanity_val_steps: 0
81
+ max_steps: 2000001
82
+ gradient_clip_val: 0.5
83
+ log_every_n_steps: 50
84
+ val_check_interval: 50000
85
+ devices: 8
86
+ num_nodes: 4
87
+ accelerator: gpu
88
+ strategy: ddp
89
+ loggers:
90
+ out_dir: ${out_dir}
91
+ cfg_id: ${id}
92
+ max_steps: ${trainer.max_steps}
93
+ log_nsteps: ${trainer.log_every_n_steps}
94
+ use_wandb: true
95
+ wandb_run: ${wandb_run}
96
+ wandb_group: null
97
+ wandb_project: motionbricks
98
+ wandb_entity: null
99
+ wandb_run_name: motionbricks_vqvae
100
+ logger_project: motionbricks
101
+ callbacks:
102
+ callback_dict:
103
+ checkpoint_epoch_cb:
104
+ _target_: motionbricks.motionlib.train.callbacks.ckpt.ReadPermissionModelCheckpoint
105
+ monitor: null
106
+ dirpath: null
107
+ filename: model-{step:07d}
108
+ save_last: false
109
+ save_top_k: -1
110
+ mode: min
111
+ every_n_train_steps: 50000
112
+ learning_rate_monitor:
113
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
114
+ logging_interval: step
115
+ autoresume:
116
+ _target_: motionbricks.motionlib.train.callbacks.autoresume.AutoResumeCallback
117
+ autoresume_after: 1260000
118
+ save_checkpoint_on_exception: true
119
+ eval_visualize:
120
+ _target_: motionbricks.vqvae.callbacks.evaluation.VQVAE_Evaluate
121
+ every_n_steps: 50001
122
+ train_dataloader: ???
123
+ val_dataloader: ???
124
+ seed: 2333
125
+ batch_size: 32
126
+ max_num_data: 40000
127
+ max_num_visualization: 32
128
+ out_dir: ${run_dir}/vis
129
+ metrics:
130
+ - _target_: motionbricks.eval.metrics.FootSkateFromHeight
131
+ - _target_: motionbricks.eval.metrics.FootSkateFromContacts
132
+ - _target_: motionbricks.eval.metrics.JointPosConsistency
133
+ train_end:
134
+ _target_: motionbricks.motionlib.train.callbacks.train_end.TrainEndCallback
135
+ only_rank_zero:
136
+ - eval_visualize
137
+ - learning_rate_monitor
138
+ - evaluate
139
+ - train_end
140
+ need_version: []
141
+ need_dataloaders:
142
+ - eval_visualize
143
+ - evaluate
144
+ need_ema: []
145
+ need_motionbricks_test: []
146
+ need_log:
147
+ - eval_visualize
148
+ - evaluate
149
+ need_autoresume: []
150
+ need_mask_cond_sampler: []
151
+ need_one_logger_callback:
152
+ - autoresume
153
+ dataloader:
154
+ _target_: torch.utils.data.DataLoader
155
+ batch_size: 128
156
+ num_workers: 11
157
+ shuffle: ???
158
+ persistent_workers: true
159
+ collate_fn:
160
+ _target_: motionbricks.motionlib.data.utils.collate_batch
161
+ _partial_: true
162
+ llm_shape: ${model.denoiser.backbone.llm_shape}
163
+ num_frames: null
164
+ data:
165
+ _target_: motionbricks.motionlib.data.motion_dataset.MotionDataset
166
+ name: motionbricks-G1
167
+ folder: ../datasets/motionbricks-G1
168
+ text_embeddings: null
169
+ split: ???
170
+ motion_sampler:
171
+ _target_: motionbricks.motionlib.data.motion_sampler.MaxDurationRandomCrop
172
+ max_seconds: 30
173
+ motion_loading_mode: memmap
174
+ use_natural_desc: true
175
+ use_short_desc: true
176
+ use_technical_desc: false
177
+ use_nv_overview_desc: false
178
+ nv_overview_prob: null
179
+ drop_text_prob: 0.1
180
+ augment_text: false
181
+ aug_text_suffix: ''
182
+ aug_text_prob: 0.75
183
+ aug_text_ind_range:
184
+ - 1
185
+ - 61
186
+ load_neutral_joints: false
187
+ timelines_mode: false
188
+ timelines_name: null
189
+ dataset_sampler: null
190
+ dataset_sampler_only_at_train: true
191
+ to_canonicalize: false
192
+ randomize_first_heading: true
193
+ loading_mode: motion_only
194
+ skeleton:
195
+ base_name: g1skel34
196
+ folder: out/motionbricks_vqvae/version_1/skeleton
197
+ t_pose: capture
198
+ orig_prefix: ''
199
+ name: g1skel34
200
+ _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34
201
+ motion_rep:
202
+ name: ${skeleton.name}_dual_root_global_joints
203
+ stats:
204
+ _target_: motionbricks.motionlib.core.utils.stats.Stats
205
+ folder: out/motionbricks_vqvae/version_1/stats/motion
206
+ _target_: motionbricks.motionlib.core.motion_reps.dual_root_global_joints.GlobalRootGlobalJoints
207
+ fps: 30
208
+ wandb_run: motionbricks_vqvae
209
+ resume: false
210
+ version: 1
211
+ cp: last_epoch
212
+ matmul_precision: high
213
+ seed: 7
214
+ id: ${hydra:runtime.choices.exp}_gpu${trainer.devices}_node${trainer.num_nodes}
215
+ out_dir: out/motionbricks_vqvae
216
+ run_dir: ???
217
+ pure_testing: false
218
+ test:
219
+ unlimit_max_code: false
220
+ max_num_data: 16
221
+ min_length: 10
222
+ max_length: 60
223
+ ckpt_dir: null
224
+ ckpt_name: null
225
+ config_version: 4
226
+ data_root: datasets
227
+ tmr_checkpoints_root: null
228
+ use_one_logger: false
motionbricks_vqvae/version_1/meta.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ wandb_run: motionbricks_vqvae
motionbricks_vqvae/version_1/skeleton/joints.p ADDED
Binary file (1.94 kB). View file
 
motionbricks_vqvae/version_1/skeleton/parents.p ADDED
Binary file (1.44 kB). View file
 
motionbricks_vqvae/version_1/skeleton/skeleton.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ base_name: g1skel34
2
+ folder: ${data.folder}/features/motion_rep/${motion_rep.name}_fps_${fps}/skeleton
3
+ t_pose: capture
4
+ orig_prefix: ''
5
+ name: g1skel34
6
+ _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34
motionbricks_vqvae/version_1/stats/motion/mean.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca390f0081e2373ab71e860a3546cb70cc11fdfac6ce525155403e047b66fdea
3
+ size 3472
motionbricks_vqvae/version_1/stats/motion/std.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fca7dd6135cbe96504b1307a7db97e9004556937a2fc72d139077b962cee6bd7
3
+ size 3472