LunarLander-v2 deep-reinforcement-learning reinforcement-learning stable-baselines3

PPO Agent playing LunarLander-v2

This is a trained model of a PPO agent playing LunarLander-v2 using the stable-baselines3 library.

Usage (with Stable-baselines3)

TODO: Add your code

from huggingface_hub import notebook_login 
from stable_baselines3 import PPO
from stable_baselines3.common.evaluation import evaluate_policy
from stable_baselines3.common.env_util import make_vec_env

# Create the environment
env = make_vec_env('LunarLander-v2', n_envs=16)

model = PPO(
    policy = 'MlpPolicy', # The policy to be optimized
    env = env,            # The environment in which the agent will act
    n_steps = 2048,       # The number of steps to run for each environment per update
    batch_size = 64,      # Minibatch size
    n_epochs = 10,         # Number of epoch when optimizing the surrogate loss
    gamma = 0.999,        # discount factor used to weigh future rewards in the total reward calculation
    gae_lambda = 0.98,    # parameter used in the Generalized Advantage Estimation (GAE) algorithm
    ent_coef = 0.01,      # Entropy coefficient for the loss calculation
    verbose=0)            # Verbosity level: 0 for no output, 1 for info messages (such as device or wrappers used), 2 for debug messages

# Train it for 1,500,000 timesteps
model.learn(total_timesteps=1500000, progress_bar=True)
# Specify file name for model and save the model to file
model_name = "ppo-LunarLander-v2"
model.save(model_name)

# Create a new environment for evaluation
eval_env = gym.make("LunarLander-v2")

# Evaluate the model with 10 evaluation episodes and deterministic=True
mean_reward, std_reward = evaluate_policy(model, eval_env, n_eval_episodes=10, deterministic=True)

# Print the results
print(f"mean_reward={mean_reward:.2f} +/- {std_reward}")