machin  by iffiX

RL library for PyTorch, supporting single and multi-agent algorithms

Created 5 years ago
416 stars

Top 70.6% on SourcePulse

GitHubView on GitHub
Project Summary

Machin is a PyTorch-based reinforcement learning library offering a comprehensive suite of single-agent, multi-agent, and massively parallel algorithms. It targets researchers and practitioners seeking a readable, reusable, and extendable framework for developing and deploying RL solutions, with features like automatic configuration and distributed training support.

How It Works

Machin is built on PyTorch, leveraging its flexibility for implementing diverse RL algorithms. It emphasizes minimal abstractions and clear implementations, making algorithms easy to understand and adapt. The library supports distributed training through a powerful RPC API, enabling complex parallel execution pools and automatic model assignment for high-performance algorithms like A3C, APEX, and IMPALA.

Quick Start & Requirements

  • Install via pip: pip install machin
  • Requires Python >= 3.6 and PyTorch >= 1.6.0.
  • Limited functionality on non-Linux platforms, particularly for distributed algorithms. Test scripts are provided for Windows, Linux, and macOS.
  • Official documentation: See here
  • Examples: examples

Highlighted Details

  • Supports a wide range of algorithms including DQN, DDPG, A2C, PPO, SAC, MADDPG, A3C, APEX, IMPALA, and imitation learning methods.
  • Features automatic configuration generation and experiment launching via machin.auto.
  • Designed for readability, reusability, and extensibility, similar to PyTorch's philosophy.
  • Implements enhancements like Prioritized Experience Replay (PER) and Generalized Advantage Estimation (GAE).
  • Claims reproducible training with a test framework that verifies target scores for each release.

Maintenance & Community

  • Primarily maintained by Muhan Li.
  • Roadmap available at Roadmap.
  • Issue reporting via markdown templates in .github/ISSUE_TEMPLATE.

Licensing & Compatibility

  • License is not explicitly stated in the README.
  • Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The README notes that only a fraction of all functions is supported on platforms other than Linux, specifically impacting distributed algorithms. Reproducibility tests are not guaranteed to match original papers due to variations in environment setups.

Health Check
Last Commit

4 years ago

Responsiveness

Inactive

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

Explore Similar Projects

Starred by Deepak Pathak Deepak Pathak(Cofounder of Skild AI; Professor at CMU), Anastasis Germanidis Anastasis Germanidis(Cofounder of Runway), and
1 more.

deer by VinF

0%
489
Deep reinforcement learning framework
Created 9 years ago
Updated 2 months ago
Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Gabriel Almeida Gabriel Almeida(Cofounder of Langflow), and
5 more.

stable-baselines3 by DLR-RM

0.4%
12k
PyTorch library for reinforcement learning algorithm implementations
Created 5 years ago
Updated 5 days ago
Feedback? Help us improve.