model: backbone_network: _target_: motionbricks.motion_backbone.neural_modules.root_backbone.root_backbone_network motion_rep: ??? args: min_tokens: ${model.args.min_tokens} max_tokens: ${model.args.max_tokens} down_t: ${model.args.down_t} use_hard_num_token_emb_for_root_prediction: ${model.args.use_hard_num_token_emb_for_root_prediction} local_root_feature: ${model.args.local_root_feature} global_root_feature: ${model.args.global_root_feature} local_pose_feature: ${model.args.local_pose_feature} pose_feat_dim: 256 local_root_feat_dim: 64 global_root_feat_dim: 64 text_emb_dim: 4096 text_embeddings: ${data.text_embeddings} input_feat_mlp_num_layers: 2 n_embd: 512 n_head: 16 n_layers_shared: 3 n_layers_root_token: 3 width: 512 depth: 4 dilation_growth_rate: 3 activation: relu norm: None pose_vqvae: nb_code: 1024 code_dim: 60 num_heads: 1 root_vqvae: nb_code: 1024 code_dim: 60 num_heads: 1 _target_: motionbricks.motion_backbone.models.root_model.MotionModel motion_rep: ??? root_vqvae_network: null pose_vqvae_network: null denoiser: backbone: llm_shape: null args: pose_root_mode: root local_pose_feature: joint_positions_and_rotations_and_hip_height local_root_feature: root global_root_feature: root min_tokens: 6 max_tokens: 16 use_hard_num_token_emb_for_root_prediction: true min_off_target_tokens_to_sample: 25 max_off_target_tokens_to_sample: 40 prob_off_range_target_token: 0.0 prob_provide_num_tokens: 0.0 down_t: 2 vqvae_model_ckpt_path: null batchsize_mul_factor: 2 max_num_start_keyframes: 4 no_start_keyframe_prob: 0.0 max_num_end_keyframes: 4 no_end_keyframe_prob: 0.0 prob_provide_text_emb: 0.0 num_token_loss_coeff: 1.0 global_root_loss_coeff: 2.0 local_root_loss_coeff: 1.0 keyframe_num_warmup_steps: 200000 floor_estimation: min_joint_height_within_windows floor_estimation_window_time: 1.0 optimizer: _target_: adam_atan2_pytorch.AdamAtan2 _partial_: true lr: 0.0001 weight_decay: 0.0 scheduler: _target_: motionbricks.motionlib.train.scheduler.WarmupCosineScheduler _partial_: true num_warmup_steps: 10000 num_training_steps: ${trainer.max_steps} final_lr: 2.0e-06 last_epoch: -1 lt_kwargs: interval: step frequency: 1 trainer: _target_: pytorch_lightning.Trainer precision: 32 enable_progress_bar: false profiler: null check_val_every_n_epoch: null detect_anomaly: false num_sanity_val_steps: 0 max_steps: 2000001 gradient_clip_val: 0.5 log_every_n_steps: 50 val_check_interval: 50000 devices: 8 num_nodes: 2 accelerator: gpu strategy: ddp loggers: out_dir: ${out_dir} cfg_id: ${id} max_steps: ${trainer.max_steps} log_nsteps: ${trainer.log_every_n_steps} use_wandb: true wandb_run: ${wandb_run} wandb_group: null wandb_project: motionbricks wandb_entity: null wandb_run_name: motionbricks_root logger_project: motionbricks callbacks: callback_dict: checkpoint_epoch_cb: _target_: motionbricks.motionlib.train.callbacks.ckpt.ReadPermissionModelCheckpoint monitor: null dirpath: null filename: model-{step:07d} save_last: false save_top_k: -1 mode: min every_n_train_steps: 50000 learning_rate_monitor: _target_: pytorch_lightning.callbacks.LearningRateMonitor logging_interval: step autoresume: _target_: motionbricks.motionlib.train.callbacks.autoresume.AutoResumeCallback autoresume_after: 1260000 save_checkpoint_on_exception: true pose_evaluate: _target_: motionbricks.motion_backbone.callbacks.evaluation.PoseEvaluate every_n_steps: 50001 train_dataloader: ??? val_dataloader: ??? seed: 2333 batch_size: 32 max_num_data: 40000 max_num_visualization: 32 out_dir: ${run_dir}/vis only_rank_zero: - learning_rate_monitor - pose_evaluate need_version: [] need_dataloaders: - pose_evaluate need_ema: [] need_motionbricks_test: [] need_log: - pose_evaluate need_autoresume: - pose_evaluate need_mask_cond_sampler: [] need_one_logger_callback: - autoresume dataloader: _target_: torch.utils.data.DataLoader batch_size: 128 num_workers: 11 shuffle: ??? persistent_workers: true collate_fn: _target_: motionbricks.motionlib.data.utils.collate_batch _partial_: true llm_shape: ${model.denoiser.backbone.llm_shape} num_frames: null data: _target_: motionbricks.motionlib.data.motion_dataset.MotionDataset name: motionbricks-G1 folder: ../datasets/motionbricks-G1 text_embeddings: null split: ??? motion_sampler: _target_: motionbricks.motionlib.data.motion_sampler.MaxDurationRandomCrop max_seconds: 30 motion_loading_mode: memmap use_natural_desc: true use_short_desc: true use_technical_desc: false use_nv_overview_desc: false nv_overview_prob: null drop_text_prob: 0.1 augment_text: false aug_text_suffix: '' aug_text_prob: 0.75 aug_text_ind_range: - 1 - 61 load_neutral_joints: false timelines_mode: false timelines_name: null dataset_sampler: null dataset_sampler_only_at_train: true to_canonicalize: false randomize_first_heading: true loading_mode: motion_only skeleton: base_name: g1skel34 folder: out/motionbricks_root/version_1/skeleton t_pose: capture orig_prefix: '' name: g1skel34 _target_: motionbricks.motionlib.core.skeletons.g1.G1Skeleton34 motion_rep: name: ${skeleton.name}_dual_root_global_joints stats: _target_: motionbricks.motionlib.core.utils.stats.Stats folder: out/motionbricks_root/version_1/stats/motion _target_: motionbricks.motionlib.core.motion_reps.dual_root_global_joints.GlobalRootGlobalJoints fps: 30 wandb_run: motionbricks_root resume: false version: 1 cp: last_epoch matmul_precision: high seed: 7 id: ${hydra:runtime.choices.exp}_gpu${trainer.devices}_node${trainer.num_nodes} out_dir: out/motionbricks_root run_dir: ??? pure_testing: false config_version: 4 data_root: datasets tmr_checkpoints_root: null use_one_logger: false