项目作者: miyosuda

项目描述 :
Reinforcement learning with unsupervised auxiliary tasks
高级语言: Python
项目地址: git://github.com/miyosuda/unreal.git
创建时间: 2016-12-10T14:35:35Z
项目社区:https://github.com/miyosuda/unreal

开源协议:Other

下载


UNREAL

CircleCI

About

Replicating UNREAL algorithm described in Google Deep Mind’s paper “Reinforcement learning with unsupervised auxiliary tasks.”

https://arxiv.org/pdf/1611.05397.pdf

Implemented with TensorFlow and DeepMind Lab environment.

Preview

seekavoid_arena_01

seekavoid_arena_01

stairway_to_melon

stairway_to_melon

nav_maze_static_01

nav_maze_static_01

Network

Network

All weights of convolution layers and LSTM layer are shared.

Requirements

  • TensorFlow (Tested with r1.0)
  • DeepMind Lab
  • numpy
  • cv2
  • pygame
  • matplotlib

Result

“seekavoid_arena_01” Level

seekavoid_01_score

“nav_maze_static_01” Level

nav_maze_static_01_score

How to train

First, download and install DeepMind Lab

  1. $ git clone https://github.com/deepmind/lab.git

Then build it following the build instruction.
https://github.com/deepmind/lab/blob/master/docs/build.md

Clone this repo in lab directory.

  1. $ cd lab
  2. $ git clone https://github.com/miyosuda/unreal.git

Add this bazel instruction at the end of lab/BUILD file

  1. package(default_visibility = ["//visibility:public"])

Then run bazel command to run training.

  1. bazel run //unreal:train --define headless=glx

--define headlesss=glx uses GPU rendering and it requires display not to sleep. (We need to disable display sleep.)

If you have any trouble with GPU rendering, please use software rendering with --define headless=osmesa option.

How to show result

To show result after training, run this command.

  1. bazel run //unreal:display --define headless=glx