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

# ==============================================
# 🚀 PLANTILLA COMPLETA PARA GOOGLE COLAB (LunarLander-v2)
# Entrena y evalúa un modelo PPO para LunarLander-v2
# ==============================================

# 📌 Paso 1: Instalar Dependencias
!apt install swig cmake ffmpeg python3-opengl xvfb -y
!pip install stable-baselines3[extra] gymnasium[box2d] huggingface_sb3 pyvirtualdisplay shimmy

# 📌 Paso 2: Importar Librerías
import os
import gymnasium as gym
import numpy as np
from stable_baselines3 import PPO
from stable_baselines3.common.env_util import make_vec_env
from stable_baselines3.common.monitor import Monitor
from stable_baselines3.common.evaluation import evaluate_policy
from pyvirtualdisplay import Display

# 📌 Configurar una pantalla virtual (para renderizar el entorno en Google Colab)
os.system('Xvfb :1 -screen 0 1024x768x24 &')
os.environ['DISPLAY'] = ':1'

print("✅ Dependencias instaladas y pantalla virtual configurada.")

# 📌 Paso 3: Forzar el uso de LunarLander-v2 (Evitar el error de Gymnasium)
try:
    env = make_vec_env("LunarLander-v2", n_envs=16)
    print("✅ Entorno vectorizado creado correctamente.")
except:
    print("⚠️ Error con LunarLander-v2, intentando con compatibilidad.")
    import shimmy
    env = make_vec_env("LunarLander-v2", n_envs=16, render_mode="rgb_array")

print("✅ Entorno configurado correctamente.")

# 📌 Paso 4: Definir y Entrenar el Modelo PPO
model = PPO(
    policy="MlpPolicy",
    env=env,
    n_steps=1024,
    batch_size=64,
    n_epochs=4,
    gamma=0.999,
    gae_lambda=0.98,
    ent_coef=0.01,
    verbose=1
)
print("✅ Modelo PPO definido correctamente.")

# 🏋️‍♂️ Entrenamiento
print("🏋️‍♂️ Entrenando el modelo... esto tomará tiempo ☕")
model.learn(total_timesteps=1000000)
print("✅ Entrenamiento completado.")

# 📌 Paso 5: Guardar el Modelo
model_name = "ppo-LunarLander-v2"
model.save(model_name)
print(f"✅ Modelo guardado como {model_name}.zip")

# 📌 Descargar el modelo a tu PC
from google.colab import files
files.download(f"{model_name}.zip")

# 📌 Paso 6: Evaluar el Modelo
eval_env = Monitor(gym.make("LunarLander-v2"))  # Asegurar compatibilidad
mean_reward, std_reward = evaluate_policy(model, eval_env, n_eval_episodes=10, deterministic=True)
print(f"📊 Evaluación completada: mean_reward = {mean_reward:.2f} +/- {std_reward:.2f}")

# 📌 Validar si pasamos la certificación
if mean_reward - std_reward >= 200:
    print("🎉 ¡Modelo aprobado para la certificación de Hugging Face! 🚀")
else:
    print("⚠️ No alcanzaste el mínimo de 200, intenta entrenar más tiempo.")

print("✅ Todo el proceso ha finalizado correctamente.")

...
Downloads last month
-
Video Preview
loading

Evaluation results