资源算法deeprl-navigation

deeprl-navigation

2020-02-13 | |  36 |   0 |   0

Deep Reinforcement Learning DQN on Unity ML Agent

Introduction

This repository contains a simple Deep Q-Network (DQN) agent running in Unity ML Agent that can be used to train and evaluate the result of the training.

I created this for the purpose of learning the basic of Deep Q-Network (DQN).

The DQN is implemented in Python 3 using PyTorch.

Environment

The agent will navigate in a 3D world created in Unity ML where there are yellow bananas and blue bananas.

Goal

The goal is to train an DQN agent to navigate and collect as many yellow bananas as possible in a large, square world.

Rewards

  • A reward of +1 will be provided for getting a yellow banana

  • A reward of -1 will be provided for collecting a blue banana

Actions

4 discreate actions are allowed:

0 - move forward.
1 - move backward.
2 - turn left.
3 - turn right.

Spaces

The state space has 37 dimensions.

They contains:

* the agent's velocity
* ray-based perception of objects around agent's forward direction

Getting Started

  1. Install Unity ML https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md

  2. Download the Unity ML environment from one of the links below based on your OS:

Then unzip the file and place the file in this folder.

  1. Create Conda Environment

Install conda from conda.io. Create a new Conda environment with Python 3.6.

conda create --name deeprl python=3.6source activate deeprl
  1. Install Dependencies

cd python
pip install .

How to run the agent

To start training, simply open Navigation.ipynb in Jupyter Notebook and follow the instructions there:

Start Jupyter Notebook

jupyter notebook

Trained model weights is included for quickly running the agent and see the result in Unity ML Agent. Simply skip the training step and run the last step of the Navigation.ipynb


上一篇:DeepRL_PyTorch

下一篇:deeprl-rainbow

用户评价
全部评价

热门资源

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...