Sobre o projeto
stable-retro-scripts é uma coleção de scripts Python para treinar modelos de aprendizado por reforço a jogar jogos de console retrô. Ele se baseia no stable-retro (um fork do gym-retro) e no stable-baselines3, e é voltado para usuários que desejam treinar agentes em títulos emulados, executar partidas modelo contra modelo ou exportar modelos para uso em frontends de emulador.
Principais capacidades descritas no README:
- Treinar modelos em jogos retrô usando scripts como scripts/train.py, com opções para ambiente, rede de política, número de ambientes paralelos, timesteps e hiperparâmetros.
- Executar treinamento baseado em currículo por meio de scripts/train_curriculum.py e arquivos JSON de currículo.
- Colocar dois modelos treinados um contra o outro em jogos jogador contra jogador, com exemplos incluindo NHL94, Mortal Kombat e WWF Wrestlemania: The Arcade Game.
- Jogar contra um oponente de IA aprimorado.
- Exportar modelos para uso em frontends de emulador por meio do projeto separado retro-ai-runtime.
Arquiteturas de modelo suportadas listadas: MLPs, Nature CNN, Impala CNN e modelos de entrada combinada (imagem mais escalar). MLPs com atenção estão marcados como experimentais.
Notas de instalação: testado no Ubuntu 22.04/24.04 e no Windows 11 WSL2 (VM Ubuntu 22.04). Requer Python 3.10 a 3.12, gymnasium, stable-baselines3 e stable-retro. Os pacotes de sistema incluem python3, pip, venv, git, zlib1g-dev, libopenmpi-dev, ffmpeg, cmake e libgl1-mesa-dev. As dependências são instaladas a partir do requirements.txt, com ferramentas opcionais de lint no requirements-dev.txt. Um checkout editável do stable-retro pode ser instalado para desenvolvimento do emulador.
Manuseio de ROMs: os usuários devem fornecer suas próprias ROMs; o README observa que Airstriker é uma ROM de domínio público já incluída no stable-retro. As ROMs são importadas com python3 -m retro.import.
Comandos de exemplo incluem treinamento no Airstriker-Genesis com CnnPolicy, 8 ambientes, 1.000.000 de timesteps e reprodução habilitada, além da execução do currículo do NHL94.
A biblioteca de inferência em C++ foi movida para o repositório retro-ai-runtime, que executa modelos exportados dentro de frontends de emulador como o RetroArch para controlar a entrada do jogador. Treinamento, avaliação e exportação de modelos permanecem neste repositório. A integração do lado do RetroArch reside no RetroArchAI. O README também vincula páginas específicas de jogos para NHL94 e WWF Wrestlemania, um vídeo de configuração do WSL2 e um vídeo tutorial sobre RetroArch e PyTorch.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.