/MetalWarfareML

Metal Warfare game for ML-Agents challenge

Primary LanguagePython

alt text

Unity ML - Agents (Python API)

Python Setup

Requirements

  • Jupyter
  • docopt
  • Matplotlib
  • numpy
  • Pillow
  • Python (2 or 3)
  • Tensorflow (1.0+)

Installing Dependencies

To install dependencies, run:

pip install .

or

pip3 install .

If your Python environment doesn't include pip, see these instructions on installing it.

Provided Jupyter Notebooks

  • Basic - Demonstrates usage of UnityEnvironment class for launching and interfacing with Unity Environments.
  • PPO - Used for training agents. Contains an implementation of Proximal Policy Optimization Reinforcement Learning algorithm.

Running each notebook

To launch jupyter, run:

jupyter notebook

Then navigate to localhost:8888 to access each training notebook.

To monitor training progress, run the following from the root directory of this repo:

tensorboard --logdir=summaries

Then navigate to localhost:6006 to monitor progress with Tensorboard.

Training PPO directly

To train using PPO without the notebook, run: python3 ppo.py <env_name> --train

Where <env_name> corresponds to the name of the built Unity environment.

For a list of additional hyperparameters, run: python3 ppo.py --help

Using Python API

See this documentation for a detailed description of the functions and uses of the Python API.

Training on AWS

See this related blog post for a description of how to run Unity Environments on AWS EC2 instances with the GPU.