Skip to content

Naive implementations of deep reinforcement learning algorithms

License

Notifications You must be signed in to change notification settings

Alwaysproblem/newbiesRL

Repository files navigation

Naive Implementations of Deep Reinforcement Learning

pre-commit

About

This is some naive implementations of deep reinforcement learning algorithms. The purpose of this repo is to help me understand the algorithms and the code. The code is not optimized for performance. If you want to use the code for your research, please refer to the original paper and the official implementation. I verify the code with OpenAI gymnasium. The most of games that I used is LunarLander-v2, CartPole-v1 and Pendulum-v1

Table of Contents

Environment Preparation (torch users)

conda create -n rltorch pytorch torchvision torchaudio pytorch-cuda=12.1 gymnasium pyglet pygame gymnasium-box2d colorama pylint yapf tqdm 'tensorboardx>=2.5.0' 'tensorboard>2.0' pillow matplotlib scipy seaborn ipykernel -c conda-forge -c pytorch -c nvidia

Run

This project does not provide the trained Deep Reinforcement Learning model weight.

You can start training model under conda environment by

(rltorch) > python -m <project name>.main

For example (DDPG):

(rltorch) > python -m DDPG.main

Algorithms

pic

DQN

pic

DDQN

pic

DDPG

pic

PPO

pic

PPG

pic

C51

pic

AWR

pic

AC

pic

TD3

pic

SACv1

pic

SACv2

pic

MPO

Improved with Gumbel Distribution Regression from XQL

pic

XAWR

pic

XDDPG

pic

XTD3

pic

XSAC

Reference