MCPcopy Index your code
hub / github.com/dongminlee94/deep_rl

github.com/dongminlee94/deep_rl @v1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0 ↗ · + Follow
74 symbols 218 edges 17 files 16 documented · 22%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Deep Reinforcement Learning (DRL) Algorithms with PyTorch

This repository contains PyTorch implementations of deep reinforcement learning algorithms. The repository will soon be updated including the PyBullet environments!

Algorithms Implemented

  1. Deep Q-Network (DQN) (V. Mnih et al. 2015)
  2. Double DQN (DDQN) (H. Van Hasselt et al. 2015)
  3. Advantage Actor Critic (A2C)
  4. Vanilla Policy Gradient (VPG)
  5. Natural Policy Gradient (NPG) (S. Kakade et al. 2002)
  6. Trust Region Policy Optimization (TRPO) (J. Schulman et al. 2015)
  7. Proximal Policy Optimization (PPO) (J. Schulman et al. 2017)
  8. Deep Deterministic Policy Gradient (DDPG) (T. Lillicrap et al. 2015)
  9. Twin Delayed DDPG (TD3) (S. Fujimoto et al. 2018)
  10. Soft Actor-Critic (SAC) (T. Haarnoja et al. 2018)
  11. SAC with automatic entropy adjustment (SAC-AEA) (T. Haarnoja et al. 2018)

Environments Implemented

  1. Classic control environments (CartPole-v1, Pendulum-v0, etc.) (as described in here)
  2. MuJoCo environments (Hopper-v2, HalfCheetah-v2, Ant-v2, Humanoid-v2, etc.) (as described in here)
  3. PyBullet environments (HopperBulletEnv-v0, HalfCheetahBulletEnv-v0, AntBulletEnv-v0, HumanoidDeepMimicWalkBulletEnv-v1 etc.) (as described in here)

Results (MuJoCo, PyBullet)

MuJoCo environments

Hopper-v2

  • Observation space: 8
  • Action space: 3

HalfCheetah-v2

  • Observation space: 17
  • Action space: 6

Ant-v2

  • Observation space: 111
  • Action space: 8

Humanoid-v2

  • Observation space: 376
  • Action space: 17

PyBullet environments

HopperBulletEnv-v0

  • Observation space: 15
  • Action space: 3

HalfCheetahBulletEnv-v0

  • Observation space: 26
  • Action space: 6

AntBulletEnv-v0

  • Observation space: 28
  • Action space: 8

HumanoidDeepMimicWalkBulletEnv-v1

  • Observation space: 197
  • Action space: 36

Requirements

Usage

The repository's high-level structure is:

├── agents                    
    └── common 
├── results  
    ├── data 
    └── graphs        
└── save_model

1) To train the agents on the environments

To train all the different agents on PyBullet environments, follow these steps:

git clone https://github.com/dongminlee94/deep_rl.git
cd deep_rl
python run_bullet.py

For other environments, change the last line to run_cartpole.py, run_pendulum.py, run_mujoco.py.

If you want to change configurations of the agents, follow this step:

python run_bullet.py \
    --env=HumanoidDeepMimicWalkBulletEnv-v1 \
    --algo=sac-aea \
    --phase=train \
    --render=False \
    --load=None \
    --seed=0 \
    --iterations=200 \
    --steps_per_iter=5000 \
    --max_step=1000 \
    --tensorboard=True \
    --gpu_index=0

2) To watch the learned agents on the above environments

To watch all the learned agents on PyBullet environments, follow these steps:

python run_bullet.py \
    --env=HumanoidDeepMimicWalkBulletEnv-v1 \
    --algo=sac-aea \
    --phase=test \
    --render=True \
    --load=envname_algoname_... \
    --seed=0 \
    --iterations=200 \
    --steps_per_iter=5000 \
    --max_step=1000 \
    --tensorboard=False \
    --gpu_index=0

You should copy the saved model name in save_model/envname_algoname_... and paste the copied name in envname_algoname_.... So the saved model will be load.

Core symbols most depended-on inside this repo

sample
called by 9
agents/common/buffers.py
hard_target_update
called by 9
agents/common/utils.py
add
called by 7
agents/common/buffers.py
soft_target_update
called by 7
agents/common/utils.py
run
called by 6
agents/a2c.py
update_model
called by 4
agents/trpo.py
forward
called by 4
agents/common/networks.py
gaussian_kl
called by 3
agents/trpo.py

Shape

Method 53
Class 15
Function 6

Languages

Python100%

Modules by API surface

agents/common/networks.py16 symbols
agents/trpo.py10 symbols
agents/common/buffers.py9 symbols
agents/ppo.py6 symbols
agents/td3.py5 symbols
agents/dqn.py5 symbols
agents/ddpg.py5 symbols
agents/a2c.py5 symbols
agents/vpg.py4 symbols
agents/sac.py4 symbols
agents/common/utils.py2 symbols
run_pendulum.py1 symbols

For agents

$ claude mcp add deep_rl \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page