GA3C  by NVlabs

Reinforcement learning implementation for gaming tasks

created 8 years ago
657 stars

Top 51.9% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

GA3C provides a hybrid CPU/GPU implementation of the Asynchronous Advantage Actor-Critic (A3C) algorithm for deep reinforcement learning. It aims to accelerate state-of-the-art reinforcement learning methods, particularly for gaming tasks, by leveraging GPU parallelization for faster training compared to CPU-only approaches. The target audience includes researchers and practitioners in reinforcement learning seeking performance gains.

How It Works

GA3C utilizes TensorFlow for its deep learning backend. The core idea is to offload computationally intensive parts of the A3C algorithm, such as neural network forward and backward passes, to the GPU while keeping other operations, like environment interaction and data preprocessing, on the CPU. This hybrid approach aims to maximize hardware utilization and achieve significant speedups.

Quick Start & Requirements

  • Install Python 3.0+
  • Install TensorFlow 1.0
  • Install OpenAI Gym
  • Clone the repository.
  • Training: sh _train.sh
  • Continue Training: Set LOAD_CHECKPOINTS=True and LOAD_EPISODE in Config.py.
  • Playing: sh _play.sh
  • Configuration: Modify Config.py or pass parameters to _train.sh (e.g., sh _train.sh LEARNING_RATE_START=0.001).

Highlighted Details

  • Hybrid CPU/GPU implementation of A3C for accelerated reinforcement learning.
  • Based on TensorFlow 1.0.
  • Achieves significant speedup compared to CPU-only implementations.
  • Supports configurable training parameters and checkpoint loading for continued training.

Maintenance & Community

The project is associated with NVlabs and references ICLR 2017 and NIPS Workshop publications, indicating academic backing. Specific community channels or active maintenance status are not detailed in the README.

Licensing & Compatibility

The README does not explicitly state a license. Given its association with NVlabs and the lack of a specified license, users should exercise caution regarding commercial use or integration into closed-source projects.

Limitations & Caveats

The project requires TensorFlow 1.0, which is an older version and may have compatibility issues with newer Python versions or hardware. The README does not detail specific supported environments or potential limitations beyond the dependency on older TensorFlow.

Health Check
Last commit

5 years ago

Responsiveness

1 day

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

Explore Similar Projects

Feedback? Help us improve.