protomotions.agents.masked_mimic package¶
MaskedMimic implementation for versatile motion control.
This package implements the MaskedMimic algorithm which learns to reconstruct expert tracker actions from partial observations. Trains on data from a full-body motion tracker while randomly masking observations.
- Key Components:
MaskedMimic: Main MaskedMimic agent
MaskedMimicModel: Model with optional VAE
MaskedMimicAgentConfig: Configuration
- Training Process:
Phase 1: Train expert full-body tracker (separate)
Phase 2: Train MaskedMimic to imitate expert with masked observations
Example
>>> from protomotions.agents.masked_mimic.agent import MaskedMimic
>>> config.expert_model_path = "results/expert_tracker/"
>>> agent = MaskedMimic(fabric, env, config)
>>> agent.train()
- Reference:
Tessler et al. “MaskedMimic: Unified Physics-Based Character Control Through Masked Motion Inpainting” (2024)
Submodules¶
- protomotions.agents.masked_mimic.agent module
MaskedMimicexpert_modelvae_noiseenvmodel__init__()configsetup()create_model()create_optimizers()reset_vae_noise()post_env_step_modifications()add_agent_info_to_obs()load_parameters()register_algorithm_experience_buffer_keys()collect_rollout_step()perform_optimization_step()masked_mimic_step()calculate_extra_loss()get_state_dict()
- protomotions.agents.masked_mimic.config module
- protomotions.agents.masked_mimic.model module