Skip to content

Latest commit

 

History

History
 
 

codes

写在前面

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

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

  • model.py 强化学习算法的基本模型,比如神经网络,actor,critic等
  • 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文件夹中。

注意:新版本中将model,memory相关内容全部放到了agent.py里面,plot放到了common.utils中。

运行环境

python 3.7、pytorch 1.6.0-1.8.1、gym 0.21.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

Google 开源项目风格指南——中文版