# Reproduce DQN, DoubleDQN, DuelingDQN model with fluid version of PaddlePaddle
[中文版](README_cn.md)
+ DQN in:
## Reproduce DQN, DoubleDQN, DuelingDQN model with Fluid version of PaddlePaddle
Based on PaddlePaddle's next-generation API Fluid, the DQN model of deep reinforcement learning is reproduced, and the same level of indicators of the paper is reproduced in the classic Atari game. The model receives the image of the game as input, and uses the end-to-end model to directly predict the next step. The repository contains the following three types of models.
+ DQN in
[Human-level Control Through Deep Reinforcement Learning](http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html)
[Human-level Control Through Deep Reinforcement Learning](http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html)
+ DoubleDQN in:
+ DoubleDQN in:
[Deep Reinforcement Learning with Double Q-Learning](https://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/viewPaper/12389)
[Deep Reinforcement Learning with Double Q-Learning](https://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/viewPaper/12389)
+ DuelingDQN in:
+ DuelingDQN in:
[Dueling Network Architectures for Deep Reinforcement Learning](http://proceedings.mlr.press/v48/wangf16.html)
[Dueling Network Architectures for Deep Reinforcement Learning](http://proceedings.mlr.press/v48/wangf16.html)
# Atari benchmark & performance
## Atari benchmark & performance
## [Atari games introduction](https://gym.openai.com/envs/#atari)
### [Atari games introduction](https://gym.openai.com/envs/#atari)
+ Pong game result
### Pong game result
The average game rewards that can be obtained for the three models as the number of training steps changes during the training are as follows(about 3 hours/1 Million steps):


# How to use
## How to use
+ Dependencies:
### Dependencies:
+ python2.7
+ python2.7
+ gym
+ gym
+ tqdm
+ tqdm
+ paddlepaddle-gpu==0.12.0
+ opencv-python
+ paddlepaddle-gpu>=0.12.0
+ Start Training:
+ ale_python_interface
### Install Dependencies:
+ Install PaddlePaddle:
recommended to compile and install PaddlePaddle from source code
+ Install other dependencies:
```
pip install -r requirement.txt
pip install gym[atari]
```
```
# To train a model for Pong game with gpu (use DQN model as default)
Install ale_python_interface, can reference:https://github.com/mgbellemare/Arcade-Learning-Environment