protomotions.agents.amp package¶
Adversarial Motion Priors (AMP) implementation.
This package implements the AMP algorithm which adds a discriminator network to PPO for learning motion style rewards from reference data.
- Key Components:
AMP: Main AMP agent
AMPModel: Actor-critic with discriminator
AMPAgentConfig: Configuration
Example
>>> from protomotions.agents.amp.agent import AMP
>>> agent = AMP(fabric, env, config)
>>> agent.train()
- Reference:
Peng et al. “AMP: Adversarial Motion Priors for Stylized Physics-Based Character Control” (2021)
Submodules¶
- protomotions.agents.amp.agent module
AMPamp_replay_bufferdiscriminatorconfig__init__()create_optimizers()load_parameters()get_state_dict()register_algorithm_experience_buffer_keys()update_disc_replay_buffer()get_expert_disc_obs()post_env_step_modifications()get_combined_experience_buffer_rewards()perform_optimization_step()discriminator_step()compute_pos_acc()compute_neg_acc()terminate_early()post_epoch_logging()
- protomotions.agents.amp.config module
AMPParametersConfigconditional_discriminatordiscriminator_reward_wdiscriminator_weight_decaydiscriminator_logit_weight_decaydiscriminator_batch_sizediscriminator_grad_penaltydiscriminator_optimization_ratiodiscriminator_replay_keep_probdiscriminator_replay_sizediscriminator_reward_thresholddiscriminator_max_cumulative_bad_transitions__init__()
DiscriminatorConfigAMPModelConfigAMPAgentConfig
- protomotions.agents.amp.model module