Skip to content

This repository contains a python implementation of a Deep Q-Network (DQN) for Atari gameplay using tensorflow.

Notifications You must be signed in to change notification settings

prabhatnagarajan/dqn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

NOTE

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

dqn

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.

Status

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.

Prerequisites

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

API

train.py

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

dqn.py

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.

cnn.py

Contains the network architecture and the the RMSProp training step.

References

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

Results

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.

breakout

License

MIT License.