Skip to content
/ rl4j Public
forked from smarthi/rl4j

Deep Reinforcement Learning for the JVM (Deep-Q, A3C)

License

Notifications You must be signed in to change notification settings

Samurus/rl4j

 
 

Repository files navigation

RL4J: Reinforcement Learning for Java

For support questions regarding RL4J, please contact [email protected].

RL4J is a reinforcement learning framework integrated with deeplearning4j and released under an Apache 2.0 open-source license.

  • 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

A useful blog post to introduce you to reinforcement learning, DQN and Async RL:

Blog post

Quickstart

  • mvn install

Visualisation

webapp-rl4j

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"

Malmo (Minecraft)

Malmo

  • Download and unzip Malmo from here
  • export MALMO_HOME=YOURMALMO_FOLDER
  • export MALMO_XSD_PATH=$MALMO_HOME/Schemas
  • launch malmo per instructions

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

About

Deep Reinforcement Learning for the JVM (Deep-Q, A3C)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.0%
  • Shell 1.0%