Python
3,606 stars
A modular, primitive-first, python-first PyTorch library for Reinforcement Learning.
### Overview: TorchRL is a modular and PyTorch-native toolkit for reinforcement learning, decision making, robotics, and simulation. It is designed to be a collection of composable pieces that can be easily swapped and scaled from a local prototype to vectorized, multiprocess, distributed, and model-based workflows without changing the data model.
### Key features:
- **TensorDict Data Model**: A dictionary-like tensor container with PyTorch operations, device transfers, shared-memory support, memmaps, lazy views, and `nn.Module` wrappers.
- **Independent Modules**: Environments, policies, replay buffers, objectives, and collectors are independent modules that can be swapped without rewriting the rest of the stack.
- **Research Code Scaling**: Research code can scale from a local prototype to vectorized, multiprocess, distributed, compiled, recurrent, multi-agent, model-based, or offline workflows without changing the data model.
### Tech stack: PyTorch
### Why it matters: TorchRL is essential for anyone working on reinforcement learning, robotics, or simulation who wants a modular, PyTorch-native toolkit that can be easily scaled and adapted to various workflows without changing the core data model.
### Repository: pytorch/rl
### GitHub stars: 3606
### Primary language: Python
### GitHub description: TorchRL is a PyTorch-native toolkit for reinforcement learning, decision making, robotics, and simulation. It is not a single algorithm implementation or a narrow benchmark suite: it is a collection of composable pieces for building RL systems while keeping the code close to the Py