Files
easy-rl/codes/README.md
johnjim0816 64c319cab4 update codes
2021-11-19 16:02:34 +08:00

4.3 KiB
Raw Blame History

写在前面

本项目用于学习RL基础算法尽量做到: 注释详细结构清晰

代码结构主要分为以下几个脚本:

  • model.py 强化学习算法的基本模型比如神经网络actorcritic等
  • memory.py 保存Replay Buffer用于off-policy
  • plot.py 利用matplotlib或seaborn绘制rewards图包括滑动平均的reward结果保存在result文件夹中
  • env.py 用于构建强化学习环境也可以重新自定义环境比如给action加noise
  • agent.py RL核心算法比如dqn等主要包含update和choose_action两个方法
  • train.py 保存用于训练和测试的函数

其中model.py,memory.py,plot.py 由于不同算法都会用到,所以放入common文件夹中。

运行环境

python 3.7、pytorch 1.6.0-1.8.1、gym 0.17.0-0.19.0

使用说明

直接运行带有train的py文件或ipynb文件会进行训练默认的任务
也可以运行带有task的py文件训练不同的任务

内容导航

算法名称 相关论文材料 环境 备注
On-Policy First-Visit MC medium blog Racetrack
Q-Learning towardsdatascience blog,q learning paper CliffWalking-v0
Sarsa geeksforgeeks blog Racetrack
DQN DQN Paper,Nature DQN Paper CartPole-v0
DQN-cnn DQN Paper CartPole-v0 与DQN相比使用了CNN而不是全链接网络
DoubleDQN DoubleDQN Paper CartPole-v0
Hierarchical DQN H-DQN Paper CartPole-v0
PolicyGradient Lil'log CartPole-v0
A2C A3C Paper CartPole-v0
SAC SAC Paper Pendulum-v0
PPO PPO paper CartPole-v0
DDPG DDPG Paper Pendulum-v0
TD3 TD3 Paper HalfCheetah-v2

Refs

RL-Adventure-2

RL-Adventure