ELF (Extensive, Lightweight, and Flexible) is a high-performance platform for reinforcement learning research that unifies simulation, data collection, and distributed training. A C++ core provides fast environments and concurrent actors, while Python bindings expose simple APIs for agents, replay, and optimization loops. It supports both single-agent and multi-agent settings, with batched stepping and shared-memory queues that keep GPUs saturated during training. ELF introduced widely used reference systems, most notably ELF OpenGo, demonstrating at-scale self-play with strong analysis tooling and public checkpoints. Its design emphasizes reproducibility: deterministic seeds, logging, and evaluation harnesses make large-scale experiments trackable and comparable. Because the platform is modular—envs, samplers, learners, and collectors—researchers can drop in new environments or algorithms without re-architecting the pipeline.
Features
- C++ simulation core with Python bindings for fast RL loops
- Distributed actor–learner architecture with shared-memory queues
- Support for single- and multi-agent environments and batched stepping
- Reproducible training with logging, evaluation, and checkpointing
- Reference implementations including the ELF OpenGo self-play system
- Pluggable envs, replay buffers, and learners for rapid experimentation