All Projects → cpnota → Autonomous Learning Library

cpnota / Autonomous Learning Library

Licence: mit
A PyTorch library for building deep reinforcement learning agents.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Autonomous Learning Library

Elegantrl
Lightweight, efficient and stable implementations of deep reinforcement learning algorithms using PyTorch.
Stars: ✭ 575 (+35.29%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ppo, ddpg
Pytorch Drl
PyTorch implementations of various Deep Reinforcement Learning (DRL) algorithms for both single agent and multi-agent.
Stars: ✭ 233 (-45.18%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ppo, ddpg
Deeprl Tensorflow2
🐋 Simple implementations of various popular Deep Reinforcement Learning algorithms using TensorFlow2
Stars: ✭ 319 (-24.94%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ppo, ddpg
Easy Rl
强化学习中文教程,在线阅读地址:https://datawhalechina.github.io/easy-rl/
Stars: ✭ 3,004 (+606.82%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ppo, ddpg
Minimalrl
Implementations of basic RL algorithms with minimal lines of codes! (pytorch based)
Stars: ✭ 2,051 (+382.59%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ppo, ddpg
Deep Reinforcement Learning
Repo for the Deep Reinforcement Learning Nanodegree program
Stars: ✭ 4,012 (+844%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ppo, ddpg
Slm Lab
Modular Deep Reinforcement Learning framework in PyTorch. Companion library of the book "Foundations of Deep Reinforcement Learning".
Stars: ✭ 904 (+112.71%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ppo
Torchrl
Pytorch Implementation of Reinforcement Learning Algorithms ( Soft Actor Critic(SAC)/ DDPG / TD3 /DQN / A2C/ PPO / TRPO)
Stars: ✭ 90 (-78.82%)
Mutual labels:  reinforcement-learning, dqn, ppo, ddpg
Reinforcement Learning
Learn Deep Reinforcement Learning in 60 days! Lectures & Code in Python. Reinforcement Learning + Deep Learning
Stars: ✭ 3,329 (+683.29%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ppo
Mushroom Rl
Python library for Reinforcement Learning.
Stars: ✭ 442 (+4%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ddpg
Reinforcement Learning
🤖 Implements of Reinforcement Learning algorithms.
Stars: ✭ 104 (-75.53%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ddpg
Machin
Reinforcement learning library(framework) designed for PyTorch, implements DQN, DDPG, A2C, PPO, SAC, MADDPG, A3C, APEX, IMPALA ...
Stars: ✭ 145 (-65.88%)
Mutual labels:  reinforcement-learning, dqn, ppo, ddpg
Reinforcement Learning With Tensorflow
Simple Reinforcement learning tutorials, 莫烦Python 中文AI教学
Stars: ✭ 6,948 (+1534.82%)
Mutual labels:  reinforcement-learning, dqn, ppo, ddpg
Rlgraph
RLgraph: Modular computation graphs for deep reinforcement learning
Stars: ✭ 272 (-36%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ppo
Rainy
☔ Deep RL agents with PyTorch☔
Stars: ✭ 39 (-90.82%)
Mutual labels:  deep-reinforcement-learning, dqn, ddpg, ppo
Pytorch Rl
This repository contains model-free deep reinforcement learning algorithms implemented in Pytorch
Stars: ✭ 394 (-7.29%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, dqn, ddpg
Machine Learning Is All You Need
🔥🌟《Machine Learning 格物志》: ML + DL + RL basic codes and notes by sklearn, PyTorch, TensorFlow, Keras & the most important, from scratch!💪 This repository is ALL You Need!
Stars: ✭ 173 (-59.29%)
Mutual labels:  deep-reinforcement-learning, dqn, ppo, ddpg
Deeprl
Modularized Implementation of Deep RL Algorithms in PyTorch
Stars: ✭ 2,640 (+521.18%)
Mutual labels:  deep-reinforcement-learning, dqn, ppo, ddpg
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 (-47.76%)
Mutual labels:  deep-reinforcement-learning, dqn, ddpg, ppo
Lagom
lagom: A PyTorch infrastructure for rapid prototyping of reinforcement learning algorithms.
Stars: ✭ 364 (-14.35%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, ppo, ddpg

The Autonomous Learning Library: A PyTorch Library for Building Reinforcement Learning Agents

The autonomous-learning-library is an object-oriented deep reinforcement learning (DRL) library for PyTorch. The goal of the library is to provide the necessary components for quickly building and evaluating novel reinforcement learning agents, as well as providing high-quality reference implementations of modern DRL algorithms. The full documentation can be found at the following URL: https://autonomous-learning-library.readthedocs.io.

Tools for Building New Agents

The primary goal of the autonomous-learning-library is to facilitate the rapid development of new reinforcement learning agents by providing common tools for building and evaluation agents, such as:

  • A flexible function Approximation API that integrates features such as target networks, gradient clipping, learning rate schedules, model checkpointing, multi-headed networks, loss scaling, logging, and more.
  • Various memory buffers, including prioritized experience replay (PER), generalized advantage estimation (GAE), and more.
  • A torch-based Environment interface that simplies agent implementations by cutting out the numpy middleman.
  • Common wrappers and agent enhancements for replicating standard benchmarks.
  • Slurm integration for running large-scale experiments.
  • Plotting and logging utilities including tensorboard integration and utilities for generating common plots.

See the documentation guide for a full description of the functionality provided by the autonomous-learning-library. Additionally, we provide an example project which demonstrates the best practices for building new agents.

High-Quality Reference Implementations

The autonomous-learning-library separates reinforcement learning agents into two modules: all.agents, which provides flexible, high-level implementations of many common algorithms which can be adapted to new problems and environments, and all.presets which provides specific instansiations of these agents tuned for particular sets of environments, including Atari games, classic control tasks, and PyBullet robotics simulations. Some benchmark results showing results on-par with published results can be found below:

atari40 pybullet

As of today, all contains implementations of the following deep RL algorithms:

  • [x] Advantage Actor-Critic (A2C)
  • [x] Categorical DQN (C51)
  • [x] Deep Deterministic Policy Gradient (DDPG)
  • [x] Deep Q-Learning (DQN) + extensions
  • [x] Proximal Policy Optimization (PPO)
  • [x] Rainbow (Rainbow)
  • [x] Soft Actor-Critic (SAC)

It also contains implementations of the following "vanilla" agents, which provide useful baselines and perform better than you may expect:

  • [x] Vanilla Actor-Critic
  • [x] Vanilla Policy Gradient
  • [x] Vanilla Q-Learning
  • [x] Vanilla Sarsa

Installation

First, you will need a new version of PyTorch (>1.3), as well as Tensorboard. Then, you can install the autonomous-learning-library through PyPi:

pip install autonomous-learning-library

Alternately, you can install directly from this repository:

git clone https://github.com/cpnota/autonomous-learning-library.git
cd autonomous-learning-library
pip install -e .

You can also install the prerequisites using:

pip install autonomous-learning-library[pytorch]

Running the Presets

If you just want to test out some cool agents, the library includes several scripts for doing so:

all-atari Breakout a2c

You can watch the training progress using:

tensorboard --logdir runs

and opening your browser to http://localhost:6006. Once the model is trained to your satisfaction, you can watch the trained model play using:

all-watch-atari Breakout "runs/_a2c [id]"

where id is the ID of your particular run. You should should be able to find it using tab completion or by looking in the runs directory. The autonomous-learning-library also contains presets and scripts for classic control and PyBullet environments.

If you want to test out your own agents, you will need to define your own scripts. Some examples can be found in the examples folder). See the docs for information on building your own agents!

Note

This library was built in the Autonomous Learning Laboratory (ALL) at the University of Massachusetts, Amherst. It was written and is currently maintained by Chris Nota (@cpnota). The views expressed or implied in this repository do not necessarily reflect the views of the ALL.

Citing the Autonomous Learning Library

We recommend the following citation:

@misc{nota2020autonomous,
  author = {Nota, Chris},
  title = {The Autonomous Learning Library},
  year = {2020},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/cpnota/autonomous-learning-library}},
}
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].