← all repositories
opendilab/DI-engine

A reinforcement learning framework that refuses to specialize

DI-engine unifies dozens of RL algorithms and real-world decision tasks under one async-native PyTorch/JAX framework to cut down on boilerplate.

3.6k stars Python ML FrameworksAgentsDomain Apps
DI-engine
Not currently ranked — collecting fresh signals.
star history

What it does

DI-engine is a generalized decision intelligence engine built for PyTorch and JAX. It provides asynchronous-native task and middleware abstractions that modularly glue together environments, policies, and models. The project ships with a sprawling collection of deep RL algorithms—basic DRL, multi-agent, imitation learning, offline RL, model-based methods, exploration bonuses, and even LLM-aligned techniques like DPO—alongside reusable low-level utilities for optimization and PyTorch operations.

The interesting bit

Rather than just being a reference algorithm zoo, DI-engine aims to standardize decision intelligence applications themselves. The project backs this ambition with an ecosystem of spin-offs: autonomous driving (DI-drive), StarCraft II agents (DI-star), traffic control (DI-smartcross), and even a psychological assessment chatbot (PsyDI). It also brings its own infrastructure stack—tree-nested tensors, Kubernetes operators, and an HPC operator library—suggesting the authors actually intend to run this stuff at scale, not just in a notebook.

Key highlights

  • Supports a wide algorithmic menagerie: DQN, PPO, SAC, QMIX, GAIL, CQL, Decision Transformer, DreamerV3, MBPO, and LLM+RL methods like PPO-max and DPO.
  • Targets both academic benchmarks and prototype real-world systems, with published research spin-offs (LightZero, InterFuser, ACE, LMDrive).
  • Includes low-level reusable modules: ding.rl_utils, ding.torch_utils, and auxiliary utilities.
  • Carries its own infrastructure tooling for large-scale training: DI-orchestrator for Kubernetes, DI-hpc for HPC operators, and DI-treetensor for nested tensor structures.
  • Claims “python-first” and “asynchronous-native” design throughout the task and middleware layers.

Verdict

Researchers and engineers who need to sweep across RL paradigms—from classic Atari to offline RL to multi-agent StarCraft—without switching frameworks will find DI-engine’s breadth useful. If you only need a clean, minimal implementation of one algorithm, this may feel like overkill.

Frequently asked

What is opendilab/DI-engine?
DI-engine unifies dozens of RL algorithms and real-world decision tasks under one async-native PyTorch/JAX framework to cut down on boilerplate.
Is DI-engine open source?
Yes — opendilab/DI-engine is open source, released under the Apache-2.0 license.
What language is DI-engine written in?
opendilab/DI-engine is primarily written in Python.
How popular is DI-engine?
opendilab/DI-engine has 3.6k stars on GitHub.
Where can I find DI-engine?
opendilab/DI-engine is on GitHub at https://github.com/opendilab/DI-engine.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.