This repository contains a python implementation of a Deep Q-Network (DQN) for Atari gameplay using tensorflow.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This repository is no longer supported. For a higher quality Python implementation, see this repository


This repository contains a python implementation of Human-Level Control through Deep Reinforcement Learning using Python and Tensorflow. This is done in the Arcade Learning Environment, as in the original paper.


The status of this repository is 'Working'. There are a few details that are different from the Deepmind implementation that are work in progress, but the implementation is correct.


  • Python 2.7
  • Arcade Learning Environment
  • SciPy
  • TensorFlow 0.12.0
  • opencv-python-
  • ImageMagick (often doesn't need to be installed)


Contains the core training loop. This is where the program enters.

Contains the agent. This file has the action selection. This is where the training step is called, and where the training inputs are passed in. This file also loads the saved networks and creates the networks.

Contains the network architecture and the the RMSProp training step.


I used a number of references in building this. I apologize for any references I may have excluded.


These results are obtained after training for a few million frames on The Texas Advanced Computing Center's Maverick System, on an NVIDIA Tesla K40 GPU.



MIT License.