A modular Python library for Reinforcement Learning with support for PyTorch, JAX, NVIDIA Warp, and multiple environment interfaces.
skrl is an open-source modular library for Reinforcement Learning (RL) written in Python. It provides implementations in PyTorch, JAX, and NVIDIA Warp, supporting various environment interfaces like Gymnasium, NVIDIA Isaac Lab, and MuJoCo Playground. The library focuses on enabling flexible agent training, including simultaneous training across environment subsets.
Researchers, developers, and students working on Reinforcement Learning projects who need a modular, transparent, and multi-backend library for experimenting with RL algorithms across diverse environments.
Developers choose skrl for its modular design, support for multiple computation backends (PyTorch, JAX, NVIDIA Warp), and compatibility with a wide range of RL environments, which simplifies experimentation and deployment in complex RL scenarios.
Modular Reinforcement Learning (RL) library (implemented in PyTorch, JAX, and NVIDIA Warp) with support for Gymnasium/Gym, NVIDIA Isaac Lab, MuJoCo Playground and other environments
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports PyTorch, JAX, and NVIDIA Warp, allowing developers to choose the best computation backend for their hardware and performance needs, as stated in the README's key features.
Compatible with Gymnasium, PettingZoo, ManiSkill, NVIDIA Isaac Lab, and MuJoCo Playground, enabling diverse RL applications from robotics to multi-agent systems, per the README.
Emphasizes readable and transparent algorithm implementation, making it easier for researchers to customize and understand RL methods, aligning with the library's philosophy.
Allows agents to train on subsets of environments that may share resources in the same run, facilitating complex multi-environment experiments, as highlighted in the README.
The project is under active continuous development, which can lead to breaking changes and require frequent updates, as warned in the README's note.
Supporting PyTorch, JAX, and Warp backends may complicate installation and configuration, especially for users unfamiliar with these frameworks or seeking a simple setup.
Focus on modularity means fewer out-of-the-box algorithms compared to established libraries like Stable Baselines3, requiring more customization for advanced use cases.