All Projects → hari-sikchi → offline_rl

hari-sikchi / offline_rl

Licence: other
Pytorch implementation of state-of-the-art offline reinforcement learning algorithms.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to offline rl

Implicit-Q-Learning
PyTorch implementation of the implicit Q-learning algorithm (IQL)
Stars: ✭ 27 (+35%)
Mutual labels:  offline-rl
awesome-offline-rl
An index of algorithms for offline reinforcement learning (offline-rl)
Stars: ✭ 578 (+2790%)
Mutual labels:  offline-rl
minerva
An out-of-the-box GUI tool for offline deep reinforcement learning
Stars: ✭ 80 (+300%)
Mutual labels:  offline-rl

Offline RL Algorithms

This repository aims to provide a simple PyTorch implementation of state-of-the-art Offline RL methods. Some of the methods like AWAC, CQL have been tested on MuJoCo locomotion tasks based on d4rl dataset.

Installation

As an alternative, to replicate the environment used for running the code (might contain a lot of unnecessary libraries as well):

pip install environment/requirements.txt 

or via conda

cd environment
conda create --name <env> --file environment/requirements_conda.txt

Running the code

python run_agent.py --env <env_name>  --seed <seed_no>  --exp_name <experiment name> --algorithm <offline rl algorithm>

List of Implemented Algorithms

  • 'SAC' : Soft Actor Critic
  • 'CQL-rho-fixed' : Conservative Q learning rho-version fixed alpha
  • 'CQL-rho-lagrange' : Conservative Q learning rho-version trained alpha
  • 'CQL-H-fixed' : Conservative Q learning H-version fixed alpha
  • 'CQL-H-lagrange' : Conservative Q learning H-version trained alpha
  • 'CWR-exp' : Critic weighted regression (exponential filtering) or AWAC (Advantage weighted actor critic)
  • 'CWR-binary': Critic weighted regression (binary filtering)
  • 'CWR-binary-max': Critic weighted regression (binary filtering with pessimistic advantage estimates)
  • 'EMAQ': Expected Max Q learning operator

Plotting

python plot.py <data_folder> --value <y_axis_coordinate> 

The plotting script will plot all the subfolders inside the given folder. The value is the y-axis that is required. 'value' can be:

  • AverageTestEpRet
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].