For this project, 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.
The state space has 37 dimensions and contains the agent's velocity, along with ray-based perception of objects around agent's forward direction. 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 we will consider the environment to be solved when our agent will be able to get an average score of +13 over 100 consecutive episodes.
- Clone the repo
git clone https://github.com/dgharsallah/Navigation
- Create a conda environment and install the required packages
conda create --name navigation python=3.6
source activate navigation
pip install torch
pip install unityagents==0.4.0
pip install mlagents
-
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.
(For AWS) If you'd like to train the agent on AWS (and have not enabled a virtual screen), then please use this link to obtain the environment.
-
Place the file in the DRLND GitHub repository, in the
Navigation/
folder, and unzip (or decompress) the file.
dqn_agent.py
: File containing the definition of our DQN agentmodel.py
: File defining the architecture of the neural net used by the DQN agentNavigation.ipynb
: Notebook containing the solution with instructions
Follow the instructions in Navigation.ipynb
to get started with training your own agent!