Sobre el proyecto
stable-retro-scripts es una colección de scripts de Python para entrenar modelos de aprendizaje por refuerzo que jueguen a videojuegos de consolas retro. Se basa en stable-retro (un fork de gym-retro) y stable-baselines3, y está dirigido a usuarios que quieran entrenar agentes en títulos emulados, ejecutar partidas de modelo contra modelo o exportar modelos para usarlos en frontends de emuladores.
Capacidades principales descritas en el README:
- Entrenar modelos en juegos retro usando scripts como scripts/train.py, con opciones para entorno, red de política, número de entornos paralelos, pasos de tiempo e hiperparámetros.
- Ejecutar entrenamiento basado en currículo mediante scripts/train_curriculum.py y archivos JSON de currículo.
- Enfrentar dos modelos entrenados entre sí en partidas de jugador contra jugador, con ejemplos como NHL94, Mortal Kombat y WWF Wrestlemania: The Arcade Game.
- Jugar contra un oponente de IA mejorado.
- Exportar modelos para usarlos en frontends de emuladores mediante el proyecto separado retro-ai-runtime.
Arquitecturas de modelo compatibles enumeradas: MLP, Nature CNN, Impala CNN y modelos de entrada combinada (imagen más escalar). Las MLP con atención están marcadas como experimentales.
Notas de instalación: probado en Ubuntu 22.04/24.04 y Windows 11 WSL2 (VM de Ubuntu 22.04). Requiere Python 3.10 a 3.12, gymnasium, stable-baselines3 y stable-retro. Los paquetes del sistema incluyen python3, pip, venv, git, zlib1g-dev, libopenmpi-dev, ffmpeg, cmake y libgl1-mesa-dev. Las dependencias se instalan desde requirements.txt, con herramientas opcionales de lint en requirements-dev.txt. Se puede instalar una copia editable de stable-retro para el desarrollo del emulador.
Gestión de ROM: los usuarios deben aportar sus propias ROM; el README señala que Airstriker es una ROM de dominio público ya incluida en stable-retro. Las ROM se importan con python3 -m retro.import.
Los comandos de ejemplo incluyen entrenar en Airstriker-Genesis con CnnPolicy, 8 entornos, 1.000.000 de pasos de tiempo y reproducción habilitada, además de ejecutar el currículo de NHL94.
La biblioteca de inferencia en C++ se ha trasladado al repositorio retro-ai-runtime, que ejecuta modelos exportados dentro de frontends de emuladores como RetroArch para controlar la entrada del jugador. El entrenamiento, la evaluación y la exportación de modelos permanecen en este repositorio. La integración del lado de RetroArch vive en RetroArchAI. El README también enlaza páginas específicas de juegos para NHL94 y WWF Wrestlemania, un vídeo de configuración de WSL2 y un vídeo tutorial sobre RetroArch y PyTorch.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.