All Projects → zuoxingdong → Lagom

zuoxingdong / Lagom

Licence: mit
lagom: A PyTorch infrastructure for rapid prototyping of reinforcement learning algorithms.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Lagom

Easy Rl
强化学习中文教程,在线阅读地址:https://datawhalechina.github.io/easy-rl/
Stars: ✭ 3,004 (+725.27%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, ppo, policy-gradient, ddpg
Hands On Reinforcement Learning With Python
Master Reinforcement and Deep Reinforcement Learning using OpenAI Gym and TensorFlow
Stars: ✭ 640 (+75.82%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, ppo, policy-gradient
Reinforcement Learning
Learn Deep Reinforcement Learning in 60 days! Lectures & Code in Python. Reinforcement Learning + Deep Learning
Stars: ✭ 3,329 (+814.56%)
Mutual labels:  artificial-intelligence, jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, ppo
Pytorch Rl
This repository contains model-free deep reinforcement learning algorithms implemented in Pytorch
Stars: ✭ 394 (+8.24%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, policy-gradient, ddpg, mujoco
Deep Reinforcement Learning
Repo for the Deep Reinforcement Learning Nanodegree program
Stars: ✭ 4,012 (+1002.2%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, ppo, ddpg
Deep Reinforcement Learning Algorithms
31 projects in the framework of Deep Reinforcement Learning algorithms: Q-learning, DQN, PPO, DDPG, TD3, SAC, A2C and others. Each project is provided with a detailed training log.
Stars: ✭ 167 (-54.12%)
Mutual labels:  jupyter-notebook, deep-reinforcement-learning, ppo, ddpg
Pytorch sac
PyTorch implementation of Soft Actor-Critic (SAC)
Stars: ✭ 174 (-52.2%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, mujoco
Trpo
Trust Region Policy Optimization with TensorFlow and OpenAI Gym
Stars: ✭ 343 (-5.77%)
Mutual labels:  jupyter-notebook, reinforcement-learning, policy-gradient, mujoco
LWDRLC
Lightweight deep RL Libraray for continuous control.
Stars: ✭ 14 (-96.15%)
Mutual labels:  deep-reinforcement-learning, policy-gradient, ddpg, ppo
Deep Reinforcement Learning For Automated Stock Trading Ensemble Strategy Icaif 2020
Deep Reinforcement Learning for Automated Stock Trading: An Ensemble Strategy. ICAIF 2020. Please star.
Stars: ✭ 518 (+42.31%)
Mutual labels:  jupyter-notebook, deep-reinforcement-learning, ppo, ddpg
Pygame Learning Environment
PyGame Learning Environment (PLE) -- Reinforcement Learning Environment in Python.
Stars: ✭ 828 (+127.47%)
Mutual labels:  artificial-intelligence, research, reinforcement-learning, deep-reinforcement-learning
Deeprl Tensorflow2
🐋 Simple implementations of various popular Deep Reinforcement Learning algorithms using TensorFlow2
Stars: ✭ 319 (-12.36%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, ppo, ddpg
Rl Course Experiments
Stars: ✭ 73 (-79.95%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, policy-gradient
Deeprl Tutorials
Contains high quality implementations of Deep Reinforcement Learning algorithms written in PyTorch
Stars: ✭ 748 (+105.49%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, ppo
Drq
DrQ: Data regularized Q
Stars: ✭ 268 (-26.37%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, mujoco
Atari Model Zoo
A binary release of trained deep reinforcement learning models trained in the Atari machine learning benchmark, and a software release that enables easy visualization and analysis of models, and comparison across training algorithms.
Stars: ✭ 198 (-45.6%)
Mutual labels:  artificial-intelligence, jupyter-notebook, research, deep-reinforcement-learning
Rad
RAD: Reinforcement Learning with Augmented Data
Stars: ✭ 268 (-26.37%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, ppo
Deep-Reinforcement-Learning-With-Python
Master classic RL, deep RL, distributional RL, inverse RL, and more using OpenAI Gym and TensorFlow with extensive Math
Stars: ✭ 222 (-39.01%)
Mutual labels:  deep-reinforcement-learning, policy-gradient, ddpg, ppo
Gdrl
Grokking Deep Reinforcement Learning
Stars: ✭ 304 (-16.48%)
Mutual labels:  artificial-intelligence, jupyter-notebook, reinforcement-learning, deep-reinforcement-learning
Reinforcement learning tutorial with demo
Reinforcement Learning Tutorial with Demo: DP (Policy and Value Iteration), Monte Carlo, TD Learning (SARSA, QLearning), Function Approximation, Policy Gradient, DQN, Imitation, Meta Learning, Papers, Courses, etc..
Stars: ✭ 442 (+21.43%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, policy-gradient

lagom

A PyTorch infrastructure for rapid prototyping of reinforcement learning algorithms.

lagom is a 'magic' word in Swedish, inte för mycket och inte för lite, enkelhet är bäst (not too much and not too little, simplicity is often the best). It is the philosophy on which this library was designed.

Why to use lagom ?

lagom balances between the flexibility and the usability when developing reinforcement learning (RL) algorithms. The library is built on top of PyTorch and provides modular tools to quickly prototype RL algorithms. However, it does not go overboard, because too low level is often time consuming and prone to potential bugs, while too high level degrades the flexibility which makes it difficult to try out some crazy ideas fast.

We are continuously making lagom more 'self-contained' to set up and run experiments quickly. It internally supports base classes for multiprocessing (master-worker framework) for parallelization (e.g. experiments and evolution strategies). It also supports hyperparameter search by defining configurations either as grid search or random search.

Table of Contents

Installation

We highly recommand using an Miniconda environment:

conda create -n lagom python=3.7

Install dependencies

pip install -r requirements.txt

We also provide some bash scripts in scripts/ directory to automatically set up the system configurations, conda environment and dependencies.

Install lagom from source

git clone https://github.com/zuoxingdong/lagom.git
cd lagom
pip install -e .

Installing from source allows to flexibly modify and adapt the code as you pleased, this is very convenient for research purpose.

Documentation

The documentation hosted by ReadTheDocs is available online at http://lagom.readthedocs.io

RL Baselines

We implemented a collection of standard reinforcement learning algorithms at baselines using lagom.

How to use lagom

A common pipeline to use lagom can be done as following:

  1. Define your RL agent
  2. Define your environment
  3. Define your engine for training and evaluating the agent in the environment.
  4. Define your Configurations for hyperparameter search
  5. Define run(config, seed, device) for your experiment pipeline
  6. Call run_experiment(run, config, seeds, num_worker) to parallelize your experiments

A graphical illustration is coming soon.

Examples

We provide a few simple examples.

Test

We are using pytest for tests. Feel free to run via

pytest test -v

What's new

  • 2019-03-04 (v0.0.3)

    • Much easier and cleaner APIs
  • 2018-11-04 (v0.0.2)

    • More high-level API designs
    • More unit tests
  • 2018-09-20 (v0.0.1)

    • Initial release

Reference

This repo is inspired by OpenAI Gym, OpenAI baselines, OpenAI Spinning Up

Please use this bibtex if you want to cite this repository in your publications:

@misc{lagom,
      author = {Zuo, Xingdong},
      title = {lagom: A PyTorch infrastructure for rapid prototyping of reinforcement learning algorithms},
      year = {2018},
      publisher = {GitHub},
      journal = {GitHub repository},
      howpublished = {\url{https://github.com/zuoxingdong/lagom}},
    }
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].