Git Product home page Git Product logo

drl.jl's Introduction

DRL.jl

Deep Reinforcement Learning for Julia

It's actually not so gradiose.

Julia implementations of deep reinforcement learning algorithms. Uses the POMDPs.jl framework for representing (Partially Observable) Markov Decision Proccesses (which itself is a framework for describing sequential decision making problems).

Working-ish:

  • Deep Q Learning (DQN)

Currently working on:

  • Model-Free Episodic Control (QEC)
  • Deterministic Policy Gradient (DDPG)

To work on:

  • Stochastic Policy Gradient (SDPG)
  • Trust Region Policy Optimization (TRPO)
  • Trust Region Generalized Advantage Estimate (TRGAE)
  • VIME
  • Misc NN models for MXNet (GAN, VAE, RNN)

NOTE: the signature for solve doesn't exactly match POMDPs.solve. It is `solve(::Solver, ::MDP, ::Policy, ::rng) NOTE: try to define your vectors as Float32 if possible (which is what mxnet uses)

Documentation someday

drl.jl's People

Contributors

cho3 avatar

Stargazers

Robert Moss avatar Peter Keffer avatar Nick Koutroumpinis avatar a.v.mantzaris avatar  avatar Cameron Smith avatar Maxim Egorov Nova avatar

Watchers

James Cloos avatar  avatar

Forkers

apoorva-sharma

drl.jl's Issues

SEMIBREAKING: R-operator in MXNet

Is there a convenient way to do this without programming it up for all common use cases? Otherwise, will have to do really ugly and inefficient reshaping

Deep Learning Backends

It would be great to be able to switch between deep learning backends, so users aren't tied to mxnet. The three that come to mind are mxnet, tensorflow, and knet. This could also simplify model building.

Something like this is probably a big endeavor, but I don't think we need a complete framework like Keras to make it work.

It would be good to start by abstracting away the deep learning building, backprop, etc to something that can serve as a common interface for multiple backends.

The question is, should something like this have its own package?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.