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
- -
Evaluation results
- mean_reward on LunarLander-v2self-reported255.06 +/- 19.25