Un reproductor SSBM basado en aprendizaje por refuerzo profundo.
NOTA: Este proyecto ya no está activo y está sujeto a degradación de bits. Hay un proyecto sucesor basado en el aprendizaje por imitación de repeticiones de slippi en https://github.com/vladfi1/slippi-ai.
Probado en: Ubuntu >=14.04, OSX, Windows 7/8/10.
pip install -e .
.agents
. El conjunto completo de agentes capacitados está disponible aquí. Necesitará saber dónde se encuentra el delfín. En Mac, la ruta de los delfines será /Applications/Dolphin.app/Contents/MacOS/Dolphin
. Si dolphin-emu
ya está en tu PATH
entonces puedes omitir esto.
python3 phillip/run.py --gui --human --start 0 --reload 0 --epsilon 0 --load agents/FalconFalconBF --iso /path/to/SSBM.iso --exe /path/to/dolphin [--windows]
Los agentes capacitados se almacenan en el directorio agents
. Aparte de FalconFalconBF
, los agentes en agents/delay0/
también son bastante fuertes. Ejecute con --help
para ver todas las opciones. El mejor agente humano es delay18/FalcoBF
, disponible en el zip de Google Drive.
--exe
será la ruta al Binaryx64Dolphin.exe
que descomprimiste. En general, los forward /
s deben estar back
s para todas las rutas, a menos que esté usando MinGW, Cygwin, git bash o algún otro emulador de shell de Unix.3
de comandos como python3
y pip3
.--tcp 1
(ahora implícito en --windows
). Es posible que también necesites abrir el puerto 5555 en tu firewall.--user tmp
(los directorios temporales que crea Python comienzan con /tmp/...
y no son válidos para Windows Dolphin). El entrenamiento está controlado por phillip/train.py
. Consulte también runner.py
y launcher.py
para entrenar masivamente en paralelo en grupos de barrios marginales. Phillip ha recibido formación en el MGHPCC. Se recomienda entrenar con un delfín personalizado que utilice zmq para sincronizarse con la IA; de lo contrario, es probable que los siguientes comandos fallen.
También es posible la formación local. Primero, edite runner.py
con los parámetros de entrenamiento que desee (avanzados). Entonces haz:
python3 runner.py # will output a path
python3 launcher.py saves/path/ --init --local [--agents number_of_agents] [--log_agents]
Para ver estadísticas durante el entrenamiento:
tensorboard --logdir logs/
El entrenador y (opcionalmente) los agentes redirigen su stdout/err a slurm_logs/
. Para finalizar el entrenamiento:
kill $(cat saves/path/pids)
Para reanudar el entrenamiento, ejecute launcher.py
nuevamente, pero omita --init
(sobrescribirá su red anterior).
No se admite la formación en Windows.
¡Gracias a Microsoftv ahora también hay un video instructivo!
¡Ven a la Discordia!
He estado transmitiendo la práctica en http://twitch.tv/x_pilot. También hay algunas grabaciones en mi canal de youtube.
Muchas gracias a altf4 por ayudarme a comenzar y a spxtr por un observador de memoria de Python. Se ha tomado prestado algo de código para la interacción con delfines de ambos proyectos (principalmente del último ahora que cambié a Python puro).