Un acteur SSBM basé sur le Deep Reinforcement Learning.
REMARQUE : ce projet n'est plus actif et est sujet à la pourriture des bits. Il existe un projet successeur basé sur l'apprentissage par imitation à partir des rediffusions slippi sur https://github.com/vladfi1/slippi-ai.
Testé sur : Ubuntu >=14.04, OSX, Windows 7/8/10.
pip install -e .
.agents
. L’ensemble complet des agents formés est disponible ici. Vous aurez besoin de savoir où se trouve le dauphin. Sur Mac, le chemin du dauphin sera /Applications/Dolphin.app/Contents/MacOS/Dolphin
. Si dolphin-emu
est déjà sur votre PATH
, vous pouvez l'omettre.
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]
Les agents formés sont stockés dans le répertoire agents
. Mis à part FalconFalconBF
, les agents dans agents/delay0/
sont également assez puissants. Exécutez avec --help
pour voir toutes les options. Le meilleur agent ressemblant à un humain est delay18/FalcoBF
, disponible dans le zip de Google Drive.
--exe
sera le chemin d’accès au Binaryx64Dolphin.exe
que vous avez décompressé. En général, le forward /
s devrait être back
s pour tous les chemins, sauf si vous utilisez MinGW, Cygwin, git bash ou un autre émulateur de shell Unix.3
des commandes comme python3
et pip3
.--tcp 1
(désormais implicite par --windows
). Vous devrez peut-être également ouvrir le port 5555 dans votre pare-feu.--user tmp
(les répertoires temporaires créés par python commencent par /tmp/...
et ne sont pas valides pour Windows Dolphin). La formation est contrôlée par phillip/train.py
. Voir aussi runner.py
et launcher.py
pour s'entraîner massivement en parallèle sur des clusters slurm. Phillip a été formé au MGHPCC. Il est recommandé de s'entraîner avec un dauphin personnalisé qui utilise zmq pour se synchroniser avec l'IA - sinon les commandes ci-dessous échoueront probablement.
Une formation locale est également possible. Tout d'abord, modifiez runner.py
avec les paramètres d'entraînement souhaités (avancés). Faites ensuite :
python3 runner.py # will output a path
python3 launcher.py saves/path/ --init --local [--agents number_of_agents] [--log_agents]
Pour afficher les statistiques pendant l'entraînement :
tensorboard --logdir logs/
Le formateur et (éventuellement) les agents redirigent leur stdout/err vers slurm_logs/
. Pour terminer la formation :
kill $(cat saves/path/pids)
Pour reprendre l'entraînement, exécutez à nouveau launcher.py
, mais omettez le --init
(cela écrasera votre ancien réseau).
La formation sous Windows n'est pas prise en charge.
Grâce à Microsoftv, il existe désormais également une vidéo pédagogique !
Venez sur Discord !
J'ai diffusé des entraînements en streaming sur http://twitch.tv/x_pilot. Il y a aussi quelques enregistrements sur ma chaîne YouTube.
Un grand merci à altf4 pour m'avoir aidé à démarrer et à spxtr pour un observateur de mémoire Python. Du code pour l'interaction avec les dauphins a été emprunté aux deux projets (principalement ce dernier maintenant que je suis passé au python pur).