We will train an agent to navigate (and collect bananas!) in a large, square world.
A reward of +1 is provided for collecting a yellow banana, and a reward of -1 is provided for collecting a blue banana. Thus, the goal of your agent is to collect as many yellow bananas as possible while avoiding blue bananas.
The state is an 84 x 84 RGB image, corresponding to the agent's first-person view. Given this information, the agent has to learn how to best select actions. Four discrete actions are available, corresponding to:
0
- move forward.1
- move backward.2
- turn left.3
- turn right.
The task is episodic, and in order to solve the environment, your agent must get an average score of +13 over 100 consecutive episodes.
-
Install packages required to working the code:
- Python 3.6
pip install unityagents
Unity Machine Learning Agents (ML-Agents)- PyTorch (The code works with both CPU and GPU that is capable of running CUDA)
- NumPy, Matplotlib, Pandas
-
Download the environment from one of the links below. You need only select the environment that matches your operating system:
- Linux: click here
- Mac OSX: click here
- Windows (32-bit): click here
- Windows (64-bit): click here
(For Windows users) Check out this link if you need help with determining if your computer is running a 32-bit version or 64-bit version of the Windows operating system.
-
Place the file in folder with other repository files, and unzip (or decompress) the file.
Note: The project environment is similar to, but not identical to the Banana Collector environment on the Unity ML-Agents GitHub page.
The repository contains four files and one directory:
double_dqn_agent.py
: DDQN agent with Experience replaymodel.py
: CNN modelNavigation_Pixels.ipynb
: The code to explore the environment and train an agentcheckpoint
: Saved trained model weights of the successful agent as a multipart ZIP fileReport.md
: Description of implementation
Follow the instructions in Navigation_Pixels.ipynb
to get started with training an agent.