Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Data Science
  3. Machin

Machin

MITPython

A PyTorch reinforcement learning library implementing DQN, DDPG, A2C, PPO, SAC, MADDPG, A3C, APEX, and IMPALA.

GitHubGitHub
419 stars51 forks0 contributors

What is Machin?

Machin is a reinforcement learning library designed for PyTorch that implements a wide range of modern RL algorithms including DQN, DDPG, A2C, PPO, SAC, MADDPG, A3C, APEX, and IMPALA. It provides a simple and clear implementation of these algorithms to solve complex decision-making problems in custom environments.

Target Audience

Researchers and developers working on reinforcement learning projects who prefer PyTorch and need a library with readable, reusable implementations of advanced RL algorithms.

Value Proposition

Developers choose Machin for its minimal abstractions, detailed documentation, and straightforward approach similar to PyTorch, making it easier to adapt algorithms to custom environments compared to more complex frameworks.

Overview

Reinforcement learning library(framework) designed for PyTorch, implements DQN, DDPG, A2C, PPO, SAC, MADDPG, A3C, APEX, IMPALA ...

Use Cases

Best For

  • Implementing single-agent RL algorithms like DQN or PPO in PyTorch
  • Building multi-agent reinforcement learning systems with MADDPG
  • Conducting distributed RL training using A3C, APEX, or IMPALA
  • Applying imitation learning techniques such as GAIL
  • Experimenting with RL in custom environments with minimal setup
  • Learning RL algorithm implementations through readable code

Not Ideal For

  • Projects requiring full distributed training feature parity on Windows or macOS
  • Teams needing guaranteed, exact reproducibility matching original research paper environments
  • Developers working exclusively with TensorFlow or other non-PyTorch deep learning frameworks
  • Users seeking a highly abstracted, opinionated framework with built-in environments and minimal coding

Pros & Cons

Pros

Automatic Experiment Configuration

Integrates with PyTorch Lightning to generate and launch experiment configs automatically, reducing manual setup for standard RL workflows as shown in the auto module.

Readable Algorithm Implementations

Uses minimal abstractions for clarity, making it easy to understand and modify code, aligning with its PyTorch-like philosophy emphasized in the documentation.

Reusable and Extendable Design

Encapsulates algorithms in classes for direct import, and leverages PyTorch's RPC API for building custom distributed training programs, as highlighted in the features.

Broad Algorithm Coverage

Supports a wide range of modern RL methods from DQN to IMPALA, including single-agent, multi-agent, and parallel algorithms, detailed in the supported algorithms list.

Cons

Limited Non-Linux Support

Distributed algorithms and some functions are not fully supported on Windows or macOS, requiring platform-specific test scripts and potentially limiting cross-platform deployment.

Weak Reproducibility Guarantees

Tests are 'weakly' reproducible and may not match original paper environments exactly, which could affect research validation and comparison efforts.

Incomplete Algorithm Suite

Missing key algorithms like QMIX and model-based methods listed in the roadmap, limiting immediate use for advanced multi-agent or model-based RL projects.

Frequently Asked Questions

Quick Stats

Stars419
Forks51
Contributors0
Open Issues1
Last commit5 years ago
CreatedSince 2020

Tags

#distributed-training#sac#deep-learning#multi-agent-rl#ddpg#ppo#rl-algorithms#machine-learning#reinforcement-learning#imitation-learning#pytorch#dqn

Built With

P
Python
P
PyTorch

Included in

Data Science3.4k
Auto-fetched 20 hours ago

Related Projects

Stable Baselines3Stable Baselines3

PyTorch version of Stable Baselines, reliable implementations of reinforcement learning algorithms.

Stars13,776
Forks2,177
Last commit1 day ago
GymnasiumGymnasium

A standard API for single-agent reinforcement learning environments, with popular reference environments and related utilities (formerly Gym)

Stars12,485
Forks1,456
Last commit1 day ago
TianshouTianshou

An elegant PyTorch deep reinforcement learning library.

Stars10,960
Forks1,336
Last commit5 months ago
DopamineDopamine

Dopamine is a research framework for fast prototyping of reinforcement learning algorithms.

Stars10,909
Forks1,388
Last commit5 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub