protomotions.agents.base_agent package¶
Base agent implementation for reinforcement learning.
This package provides the foundational agent class that all RL agents inherit from. It handles the core training loop, experience collection, optimization, checkpointing, and evaluation. Specific algorithms (PPO, AMP, ASE, etc.) extend BaseAgent to implement their own model creation and training logic.
- Key Components:
BaseAgent: Core agent class with training loop
BaseModel: Abstract model interface
BaseAgentConfig: Configuration dataclass for agent parameters
Example
>>> from protomotions.agents.ppo.agent import PPO
>>> agent = PPO(fabric, env, config)
>>> agent.setup()
>>> agent.train()
Submodules¶
- protomotions.agents.base_agent.agent module
BaseAgentmodeloptimizerexperience_bufferevaluator__init__()should_stopsetup()create_model()create_optimizers()load()load_parameters()get_state_dict()save()register_algorithm_experience_buffer_keys()collect_rollout_step()fit()add_agent_info_to_obs()obs_dict_to_tensordict()post_env_step_modifications()check_obs_for_nans()record_rollout_step()get_combined_experience_buffer_rewards()optimize_model()perform_optimization_step()post_epoch_logging()eval()train()max_num_batches()get_step_count_increment()terminate_early()
- protomotions.agents.base_agent.config module
MaxEpisodeLengthManagerConfigOptimizerConfigBaseModelConfigBaseAgentConfigbatch_sizetraining_max_stepsmodelnum_stepsgradient_clip_valfail_on_bad_gradscheck_grad_maggammabounds_loss_coeftask_reward_wnum_mini_epochstraining_early_terminationsave_epoch_checkpoint_everysave_last_checkpoint_everymax_episode_length_managerevaluatornormalize_rewardsnormalized_reward_clamp_value__init__()
- protomotions.agents.base_agent.model module