| | --- |
| | library_name: stable-baselines3 |
| | tags: |
| | - LunarLander-v2 |
| | - deep-reinforcement-learning |
| | - reinforcement-learning |
| | - stable-baselines3 |
| | model-index: |
| | - name: PPO |
| | results: |
| | - task: |
| | type: reinforcement-learning |
| | name: reinforcement-learning |
| | dataset: |
| | name: LunarLander-v2 |
| | type: LunarLander-v2 |
| | metrics: |
| | - type: mean_reward |
| | value: 249.81 +/- 23.73 |
| | name: mean_reward |
| | verified: false |
| | --- |
| | |
| | # **PPO** Agent playing **LunarLander-v2** |
| | This is a trained model of a **PPO** agent playing **LunarLander-v2** |
| | using the [stable-baselines3 library](https://github.com/DLR-RM/stable-baselines3). |
| |
|
| | ## Usage (with Stable-baselines3) |
| | ```python |
| | from stable_baselines3 import PPO |
| | from stable_baselines3.common.envs import LunarLander |
| | from stable_baselines3.common.env_util import make_vec_env |
| | from stable_baselines3.common.evaluation import evaluate_policy |
| | |
| | # Create the LunarLander environment |
| | env = LunarLander() |
| | |
| | # Vectorize the environment for parallel training |
| | vec_env = make_vec_env('LunarLander-v2', n_envs=16) |
| | |
| | # Instantiate the PPO agent |
| | model = PPO("MlpPolicy", vec_env, verbose=1) |
| | |
| | # Train the agent |
| | model.learn(total_timesteps=int(2e5)) |
| | |
| | # Evaluate the trained agent |
| | eval_env = LunarLander() |
| | mean_reward, std_reward = evaluate_policy(model, eval_env, n_eval_episodes=10, deterministic=True) |
| | print(f"mean_reward={mean_reward:.2f} +/- {std_reward}") |
| | |
| | # Save the trained model |
| | model_name = "ppo-LunarLander-v2" |
| | model.save(model_name) |
| | |
| | # Package and upload the model to the Hub |
| | from huggingface_sb3 import package_to_hub |
| | package_to_hub(model=model, |
| | model_name=model_name, |
| | model_architecture="PPO", |
| | env_id="LunarLander-v2", |
| | eval_env=eval_env, |
| | repo_id="your-username/ppo-LunarLander-v2", |
| | commit_message="Upload PPO LunarLander-v2 trained agent") |
| | ``` |
| |
|
| | Ensure to replace `"your-username"` with your Hugging Face username. |