#The Phillip AI An SSBM player based on Deep Reinforcement Learning.

Requirements

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 also under works.

  1. A recent version of dolphin. Probably need to compile from source on Linux.

  2. The SSBM iso image. Must be NTSC 1.02.

  3. Python 3.

  4. Tensorflow 0.11.

  5. A few python packages

    pip3 install attrs

  6. Install phillip:

    pip3 install -e .

Play

Trained agents are stored in the agents directory.

phillip --gui --human --start 0 --load agents/FalconFalconBF [--iso path/to/SSBM.iso]

On Mac you will need to add --exe ~/../../Applications/Dolphin.app/Contents/MacOS/Dolphin.

Train

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).

Support

Come to the Discord!

Recordings

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).

Related Repositories

phillip

phillip

The SSBM "Phillip" AI. ...

biopython

biopython

Phillip Garland's fork of the official Biopython repository ...

der-vertretungsplan

der-vertretungsplan

Sollten Sie diesen Quellcode selbst (weiter)verwenden wollen, fragen Sie doch einfach bei uns nach... | Autoren: staribxc, phi1010 (Phillip Kuhrt) | Facebook: https://www.facebook.com/der.vertretungsplan | IRC: irc.esper.net #vertretungsplan http://webcha ...

Noir-blog

Noir-blog

Phillip Garland's personal fork of noir-blog, a simple blog using the noir micro-framework ...

chromatic

chromatic

Use your iPhone camera to search Etsy products by color. Then if you like, filter by category, keyword, and price. Built at the Fashion Hackathon by Gabriela Anastasio, Robert Tolar Haining, Phillip Huynh, Mara Isip, Rob Van Wyen. ...