ReinforcementLearning.jl

A collection of tools for doing reinforcement learning research in Julia.

Star Us


Key Features &
Capabilities

Easy experimentation

Make it easy for new users to run benchmark experiments, compare different algorithms, evaluate and diagnose agents.

Reproducibility

Facilitate reproducibility from traditional tabular methods to modern deep reinforcement learning algorithms.

Reusability and extensibility

Provide elaborately designed components and interfaces to help users implement new algorithms.

Feature-rich Environments

A number of built-in environments and third-party environment wrappers are provided to evaluate algorithms in various scenarios.


Get Started in 3 lines!

ReinforcementLearning.jl is a wrapper package which contains a collection of different packages in the JuliaReinforcementLearning organization. You can simply run many built-in experiments in 3 lines.

Get Started!
julia> ] add ReinforcementLearning

julia> using ReinforcementLearning

julia> run(E`JuliaRL_BasicDQN_CartPole`)

Tabular Reinforcement Learning

In ReinforcementLearningAnIntroduction.jl, we reproduced most figures in the famous book: Reinforcement Learning: An Introduction (Second Edition). You can try those examples interactively online with the help of MyBinder and learn many tabular reinforcement learning algorithms.

Learn Now!

Deep Reinforcement Learning

In ReinforcementLearningZoo.jl, many deep reinforcement learning algorithms are implemented, including DQN, C51, Rainbow, IQN, A2C, PPO, DDPG, etc. All algorithms are written in a composable way, which make them easy to read, understand and extend.

Try Now!

Community

Join the Julia Reinforcement Learning community to learn, contribute, and get your questions answered.

  Github Issue/Pull Request

Ask package usage questions, discuss designs and propose new features through github issues. Contributions through pull requests are warmly welcomed!

Create an issue! Make a PR!
Discourse_logo  Julia Discourse/Slack  

Ask general reinforcement learning related questions on Julia discourse in the #machinelearning domain, or on the Slack in #reinforcement-learnin channel.

Ask on Discourse! Join Julia Slack!