#The Phillip AI An SSBM player based on Deep Reinforcement Learning.
Tested on: Ubuntu >=14.04, OSX. If you want Windows support, go bug the dolphin developers to support MemoryWatcher and Pipe Input on Windows! A fork that supports this is under works.
-
A recent version of dolphin. Probably need to compile from source on Linux.
-
Python 3.
-
A few python packages
pip3 install attrs
-
Install phillip:
pip3 install -e .
Trained agents are stored in the agents
directory.
phillip --gui --human --start 0 --load agents/FalconFalconFD
Training is controlled by phillip/train.py
. See also runner.py
and launcher.py
for training massively in parallel on slurm clusters. Phillip has been trained at the MGHPCC. It is recommended to train with a custom dolphin from https://github.com/vladfi1/dolphin
- the below commands will likely fail otherwise.
Local training is also possible. First, edit runner.py
with your desired training params (advanced). Then do:
python3 runner.py # will output a path
python3 launcher.py saves/path/ --init --local [--agents number_of_agents] [--log_agents]
To view stats during training:
tensorboard --logdir logs/
The trainer and (optionally) agents redirect their stdout/err to slurm_logs/
. To end training:
kill $(cat saves/path/pids)
To resume training run launcher.py
again, but omit the --init
(it will overwrite your old network).
Come to the Discord!
I've been streaming practice play over at http://twitch.tv/x_pilot. There are also some recordings on my youtube channel.
##Credits
Big thanks to https://github.com/altf4/SmashBot for getting me started, and to https://github.com/spxtr/p3 for a python memory watcher. Some code for dolphin interaction has been borrowed from both projects (mostly the latter now that I've switched to pure python).