GitXplorerGitXplorer
r

obstacle-tower-pytorch-rainbow

public
4 stars
4 forks
0 issues

Commits

List of commits on branch master.
Verified
5cd8eb39124b25fa27ca27e570b13e4c803fccf8

Merge pull request #1 from archsoong/patch-1

rrwightman committed 5 years ago
Verified
283c6e56e4eecedb2be2fecf2ea3b70570f4748a

Update README.md

aarchsoong committed 6 years ago
Unverified
ae8c2c4f32650f12b24751b5b84b98419c6a0390

Remove a few unused files

rrwightman committed 6 years ago
Verified
1e574333689b77010c2af3e65d81c2e9cbb72440

Typo

rrwightman committed 6 years ago
Verified
036a984aac22b2a0605dfc313ff39722935373da

Update README.md

rrwightman committed 6 years ago
Unverified
0dfa7c7ac189e448bab17db784ed2dfc24c18208

Update README.md and commit the outstanding changes from last experiments

rrwightman committed 6 years ago

README

The README file for this repository.

Obstacle Tower Challenge - Rainbow & PyTorch

This repo contains my starting point for Round 1 of the Obstacle Tower Challenge -- a clone of the starters kit with Kaixhin's great implementation of Rainbow as my baseline RL algorithm (https://github.com/Kaixhin/Rainbow).

I hacked the rainbow impl to work with color images, unstacked frames. Created an env wrapper for allowing reward shaping, custom resolutions, and other changes.

The end resulted worked better than expected, notably better than the recommended Dopamine RAINBOW as a baseline. With a bit of tuning, an agent can be trained to average floor 7-8 over 3-4 days of training. The agent can hit floor 10 fairly often but has troubles moving past that point. There is high variability in the performance though.

Moving forward, I was working on a PyTorch impl of R2D2 with the addition of novelty/curiosity to the reward, so Rainbow-like with an RNN policy and distributed training. I may publish that at some point if I move it forward and apply it successfully to a future task.

Usage

  • Setup a new Conda Python 3.6 environment (do not use 3.7! compatibility issues with Unity's support modules)
  • Install recent (ver 1.x) of PyTorch
  • Setup environment download engine as per: https://github.com/Unity-Technologies/obstacle-tower-challenge#local-setup-for-training but using this repo in place of that clone and do it within the same Conda env
  • Create a folder named 'results' to put in model and evaluation report
  • Run train_obt.py and wait...
  • run.py can be used to run the trained models for submission or for viewing with the --realtime flag set