Skip to content

Latest commit

 

History

History
71 lines (52 loc) · 2.59 KB

README_cn.md

File metadata and controls

71 lines (52 loc) · 2.59 KB

基于PaddlePaddle的Fluid版本复现DQN, DoubleDQN, DuelingDQN三个模型

基于PaddlePaddle下一代API Fluid复现了深度强化学习领域的DQN模型,在经典的Atari 游戏上复现了论文同等水平的指标,模型接收游戏的图像作为输入,采用端到端的模型直接预测下一步要执行的控制信号,本仓库一共包含以下3类模型:

模型效果:Atari游戏表现

Atari游戏介绍

请点击这里了解Atari游戏。

Pong游戏训练结果

三个模型在训练过程中随着训练步数的变化,能得到的平均游戏奖励如下图所示(大概3小时每1百万步):

DQN result

使用教程

依赖:

  • python2.7
  • gym
  • tqdm
  • opencv-python
  • paddlepaddle-gpu>=1.0.0
  • ale_python_interface

下载依赖:

  • 安装PaddlePaddle: 建议通过PaddlePaddle源码进行编译安装
  • 下载其它依赖:
    pip install -r requirement.txt
    pip install gym[atari]
    
    安装ale_python_interface可以参考这里

训练模型:

# 使用GPU训练Pong游戏(默认使用DQN模型)
python train.py --rom ./rom_files/pong.bin --use_cuda

# 训练DoubleDQN模型
python train.py --rom ./rom_files/pong.bin --use_cuda --alg DoubleDQN

# 训练DuelingDQN模型
python train.py --rom ./rom_files/pong.bin --use_cuda --alg DuelingDQN

训练更多游戏,可以从这里下载游戏rom

测试模型:

# Play the game with saved model and calculate the average rewards
# 使用训练过程中保存的最好模型玩游戏,以及计算平均奖励(rewards)
python play.py --rom ./rom_files/pong.bin --use_cuda --model_path ./saved_model/DQN-pong

# 以可视化的形式来玩游戏
python play.py --rom ./rom_files/pong.bin --use_cuda --model_path ./saved_model/DQN-pong --viz 0.01

这里是Pong和Breakout游戏训练好的模型,可以直接用来测试。