simple_dqn  by tambetm

Simple DQN: Deep Q-learning agent for replicating DeepMind's Atari results

created 10 years ago
701 stars

Top 49.6% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a simplified implementation of Deep Q-Learning (DQN) for replicating DeepMind's Atari results. It targets researchers and developers interested in understanding or extending DQN, offering a fast, Python-based agent with OpenAI Gym integration and efficient convolution via the Neon library.

How It Works

The agent utilizes the Arcade Learning Environment (ALE) and OpenAI Gym for Atari game interaction. It employs Neon for fast GPU-accelerated convolutions and implements efficient minibatch sampling from replay memory using NumPy array slicing, minimizing data conversions for speed.

Quick Start & Requirements

  • Installation: Requires Ubuntu with specific prerequisites (libhdf5-dev, libyaml-dev, libopencv-dev, python-dev, etc.). Neon and ALE must be compiled separately. OpenAI Gym is installed via pip install gym[atari].
  • Dependencies: Python, Neon deep learning library, Arcade Learning Environment, OpenAI Gym, NumPy, OpenCV.
  • Setup: Involves cloning and compiling Neon and ALE, then installing Python packages. OpenCV installation can be complex.
  • Resources: Training scripts are provided for games like Breakout.
  • Links: Neon, Arcade Learning Environment, OpenAI Gym.

Highlighted Details

  • Replicates DeepMind's DQN paper using Python and ALE.
  • Leverages Neon for fast convolutions and NumPy for efficient replay memory.
  • Supports training, testing, visualization, and plotting of results.
  • Includes scripts for profiling training, testing, and ALE interface performance.

Maintenance & Community

The project is presented as a personal learning resource and is noted as outdated, with suggestions to explore more current codebases. No active community channels or recent updates are indicated.

Licensing & Compatibility

The README does not explicitly state a license. Compatibility with commercial or closed-source projects is not specified.

Limitations & Caveats

The repository is explicitly stated as outdated and not recommended for production use. There are known differences in implementation details compared to DeepMind's original paper, such as the RMSProp formulation and frame averaging versus max-pooling. Installation instructions are primarily for Ubuntu.

Health Check
Last commit

6 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.