8000 GitHub - snurkabill/rl4j: Deep Reinforcement Learning for the JVM
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

snurkabill/rl4j

 
 

Repository files navigation

RL4J

Reinforcement learning framework integrated with deeplearning4j.

  • DQN (Deep Q Learning with double DQN)
  • Async RL (A3C, Async NStepQlearning)

Both for Low-Dimensional (array of info) and high-dimensional (pixels) input.

DOOM

Cartpole

Here is a useful blog post I wrote to introduce you to reinforcement learning, DQN and Async RL:

Blog post

temporary example repo

Cartpole example

Disclaimer

This is a tech preview and distributed as is. Comments are welcome on our gitter channel: gitter

Quickstart

** INSTALL rl4j-api before installing all (see below)!**

  • mvn install -pl rl4j-api
  • [if you want rl4j-gym too] Download and mvn install: gym-java-client
  • mvn install

Visualisation

webapp-rl4j

Quicktry cartpole:

Doom

Doom is not ready yet but you can make it work if you feel adventurous with some additional steps:

  • You will need vizdoom, compile the native lib and move it into the root of your project in a folder
  • export MAVEN_OPTS=-Djava.library.path=THEFOLDEROFTHELIB
  • mvn compile exec:java -Dexec.mainClass="YOURMAINCLASS"

WIP

  • Documentation
  • Serialization/Deserialization (load save)
  • Compression of pixels in order to store 1M state in a reasonnable amount of memory
  • Async learning: A3C and nstep learning (requires some missing features from dl4j (calc and apply gradients)).

Author

Ruben Fiszel

Proposed contribution area:

  • Continuous control
  • Policy Gradient
  • Update gym-java-client when gym-http-api gets compatible with pixels environments to play with Pong, Doom, etc ..

About

Deep Reinforcement Learning for the JVM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%
0