Ein SSBM-Spieler, der auf Deep Reinforcement Learning basiert.
HINWEIS: Dieses Projekt ist nicht mehr aktiv und unterliegt Bit-Rot. Unter https://github.com/vladfi1/slippi-ai gibt es ein Nachfolgeprojekt, das auf Nachahmungslernen aus Slippi-Wiederholungen basiert.
Getestet auf: Ubuntu >=14.04, OSX, Windows 7/8/10.
pip install -e .
.agents
enthalten. Das vollständige Angebot an geschulten Agenten finden Sie hier. Sie müssen wissen, wo sich der Delphin befindet. Auf dem Mac lautet der Delphinpfad /Applications/Dolphin.app/Contents/MacOS/Dolphin
. Wenn sich dolphin-emu
bereits auf Ihrem PATH
befindet, können Sie dies weglassen.
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]
Geschulte Agenten werden im agents
gespeichert. Abgesehen von FalconFalconBF
sind auch die Agenten in agents/delay0/
ziemlich stark. Führen Sie mit --help
aus, um alle Optionen anzuzeigen. Der beste menschenähnliche Agent ist delay18/FalcoBF
, verfügbar in der Google Drive-ZIP-Datei.
--exe
ist der Pfad zu Binaryx64Dolphin.exe
das Sie entpackt haben. Im Allgemeinen sollten die Vorwärts- /
s-Vorgänge für alle Pfade
sein, es sei denn, Sie verwenden MinGW, Cygwin, Git Bash oder einen anderen Unix-Shell-Emulator.3
in Befehlen wie python3
und pip3
weglassen.--tcp 1
(jetzt impliziert durch --windows
). Möglicherweise müssen Sie auch Port 5555 in Ihrer Firewall öffnen.--user tmp
übergeben (die temporären Verzeichnisse, die Python erstellt, beginnen mit /tmp/...
und sind für Windows Dolphin nicht gültig). Das Training wird von phillip/train.py
gesteuert. Siehe auch runner.py
und launcher.py
für massives paralleles Training auf Slurm-Clustern. Phillip wurde am MGHPCC ausgebildet. Es wird empfohlen, mit einem benutzerdefinierten Delphin zu trainieren, der zmq zur Synchronisierung mit der KI verwendet. Andernfalls schlagen die folgenden Befehle wahrscheinlich fehl.
Auch eine Ausbildung vor Ort ist möglich. Bearbeiten Sie zunächst runner.py
mit Ihren gewünschten Trainingsparametern (erweitert). Dann tun Sie:
python3 runner.py # will output a path
python3 launcher.py saves/path/ --init --local [--agents number_of_agents] [--log_agents]
So zeigen Sie Statistiken während des Trainings an:
tensorboard --logdir logs/
Der Trainer und (optional) die Agenten leiten ihren stdout/err an slurm_logs/
um. So beenden Sie das Training:
kill $(cat saves/path/pids)
Um das Training fortzusetzen, führen Sie launcher.py
erneut aus, aber lassen Sie --init
weg (dadurch wird Ihr altes Netzwerk überschrieben).
Schulungen unter Windows werden nicht unterstützt.
Dank Microsoftv gibt es jetzt auch ein Anleitungsvideo!
Komm zum Discord!
Ich habe Übungsspiele unter http://twitch.tv/x_pilot gestreamt. Es gibt auch einige Aufnahmen auf meinem YouTube-Kanal.
Vielen Dank an altf4 für den Einstieg und an spxtr für einen Python-Speicherbeobachter. Ein Teil des Codes für die Delphin-Interaktion wurde von beiden Projekten ausgeliehen (hauptsächlich Letzteres, nachdem ich auf reines Python umgestiegen bin).