skrl:模块化强化学习库
用PyTorch、JAX和NVIDIA Warp实现的高度模块化、可读性强的强化学习库。
- 源仓库
- Toni-SM/skrl
- Star 数
- ★ 1.1k
- 最近更新
- 今天
- License
- MIT
- 主语言
- Python
- FA 评分
- 43/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 免费,无需付费服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 研究人员希望在PyTorch、JAX和NVIDIA Warp之间快速对比强化学习算法性能,利用skrl的模块化设计轻松切换后端。
- 不适合
- 需要开箱即用命令行工具、不想写代码的用户
- 没有 GPU 或高性能计算资源、只想在笔记本上快速试验的团队
- 需要稳定不变 API 的生产项目(项目处于活跃开发中,API 可能变化)
这个 Agent 能做什么,适合哪些场景?
skrl是一个开源的Python强化学习库,基于PyTorch、JAX和NVIDIA Warp实现,以模块化、可读性、简洁性和算法实现的透明度为核心设计目标。它支持OpenAI Gym、Farama Gymnasium、PettingZoo、ManiSkill等多种环境接口,并能加载和配置NVIDIA Isaac Lab和MuJoCo Playground环境。该库允许在同一运行中按作用域(环境中环境的子集)对智能体进行同步训练,这些作用域可能共享或不共享资源。项目处于积极持续开发中,文档完善,并提供论文引用。
skrl提供了一组模块化的强化学习算法和工具,可直接使用或扩展。用户可以通过pip安装(pip install skrl),然后导入skrl模块,选择算法(如PPO、SAC等)和环境(Gymnasium、Isaac Lab等),配置超参数并开始训练。它支持在PyTorch、JAX和NVIDIA Warp之间切换后端,支持多智能体训练,并允许按作用域并行训练多个环境子集。库的API设计透明,用户可通过文档查看具体类和方法,如skrl.agents、skrl.environments等。
- 研究人员希望在PyTorch、JAX和NVIDIA Warp之间快速对比强化学习算法性能,利用skrl的模块化设计轻松切换后端。
- 机器人工程师需要在NVIDIA Isaac Lab仿真环境中训练机器人控制策略,使用skrl加载和配置Isaac Lab环境。
- 开发者希望在同一训练运行中并行训练多个环境子集(如不同物理参数或不同任务的多个环境),利用skrl按作用域训练的功能。
- 学生或教育者需要一个简洁、可读的强化学习库来教学和学习算法实现,skrl的透明代码和文档很合适。
- 多智能体研究者需要支持PettingZoo的多智能体环境,skrl提供相应支持。
如何安装或部署这个 Agent?
skrl可通过pip安装,但没有指定确切命令。通常,在具备Python和相应框架(PyTorch、JAX或Warp)的虚拟环境中,运行pip install skrl。最新开发版本可从GitHub的develop分支获取。对于特定环境(如Isaac Lab),可能需要额外安装依赖,具体见官方文档 https://skrl.readthedocs.io 。
如何使用这个 Agent?
安装后,参考官方文档 https://skrl.readthedocs.io 获取详细示例。典型用法:导入skrl,选择算法类(例如from skrl.agents.ppo import PPO),配置环境和参数,然后调用训练循环。文档提供了完整示例代码和API参考。
这个 Agent 有哪些优点和局限?
- 支持PyTorch、JAX和NVIDIA Warp三种后端,提供跨框架的灵活性。
- 模块化设计使得算法和环境解耦,易于扩展和自定义。
- 支持多种环境接口(Gym/Gymnasium、Isaac Lab、MuJoCo Playground等),包括多智能体支持。
- 允许在同一运行中按作用域并行训练,高效利用计算资源。
- 文档完善,并提供论文引用参考。
- 项目处于积极开发中,API可能变动,需要跟踪版本更新。
- 对特定环境(如Isaac Lab)的依赖可能需要额外配置,安装步骤不明确。
- 文档中未提供详细的CLI,主要依赖Python API,需要编程能力。
- 缺少开箱即用的命令行工具,可能需要编写较多代码。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| skrl:模块化强化学习库 当前 | 43 · 缺口较多 | 代码库 / SDK免费 | ★ 1.1k | 今天 | Python | — |
| IR-SIM 智能机器人模拟器 | 43 · 缺口较多 | 代码库 / SDK免费 | ★ 1.1k | 8 天前 | Python | — |
| Hands-On Modern RL 实战教程 | 30 · 缺口较多 | 命令行工具免费 | ★ 4.7k | 17 天前 | Python | — |
| Trace 生成式优化框架 | 67 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 762 | 1 年前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示这是一个开源库,没有权限模型或用户确认机制,也没有数据流透明性或敏感数据处理说明。依赖安全未提及,外部影响(如训练副作用)未讨论,回滚机制未提供,来源归属仅通过作者字段和许可证,但发布者未验证。因此所有信任标准得分为0。
自一致性:README、pyproject.toml和许可证在名称、版本和描述上一致,得2分。依赖可用性:依赖列表明确,但未提供锁定文件或版本范围,得2分。失败消息:未提供错误处理或用户提示的文档,得1分。
受众和场景:明确面向RL研究人员和开发者,支持多种环境,得2分。能力边界:描述了支持的框架和环境,但未明确限制,得2分。触发精度:作为库,触发机制不适用,但文档中未明确说明何时使用,得1分。环境适配:支持多种环境,但未提供配置细节,得2分。
信息架构:README和文档链接清晰,得2分。安装说明:pyproject.toml提供了依赖和可选依赖,但未提供详细安装步骤,得2分。命名稳定性:版本号明确,但未提及API稳定性,得2分。示例和FAQ:README提到文档有示例,但未提供具体示例,得2分。已知限制:未明确列出,得1分。许可证:MIT许可证明确,得3分。版本和变更日志:版本号存在,但未提供变更日志,得2分。维护责任:作者和维护者字段明确,但未验证,得2分。
输出可用性:作为库,输出是代码和文档,但未提供具体输出格式,得2分。边际价值:提供了多框架支持,具有价值,得2分。成本效益:依赖较多,但未提供性能基准,得2分。
声明可追溯性:README中的声明与代码和文档一致,得2分。跨来源佐证:仅依赖单一来源,未提供外部验证,得1分。事实与推断分离:文档区分了描述和引用,得2分。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 发布者身份未验证,应谨慎对待。
- 未提供依赖锁定或安全审计,可能存在供应链风险。
- 未提供回滚或数据保护机制,不适合处理敏感数据。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
2.1.0 skrl-v2.1.0
发布说明摘录
[2.1.0] - 2026-05-10 Changed - Improving the robustness and learning capabilities of on-policy algorithms: - Sample data from memory using per-epoch mini-batch shuffling - Sum-reduce policy entropy to prevent collapse into near-deterministic stand still behavior - Set the random memory replacement argument to false by default Fixed - Fix time limits handling of truncation signals in on-policy agents/multi-agents - Fix the indexing of finished episodes for cumulative rewards and timestep tracking在 GitHub 查看 ↗ -
2.0.0 skrl-v2.0.0
发布说明摘录
[2.0.0] - 2026-04-08 Summary of the most relevant features: - RL algorithm implementations in NVIDIA Warp - Differentiate between environment observations and states (also known as privileged observation) - Support for MuJoCo Playground and ManiSkill environments Added - Implement RL algorithms in NVIDIA Warp - Add loader and wrapper for MuJoCo Playground environments - Add wrapper for ManiSkill environments - Add Tabular model instantiator (epsilon-greedy variant) - Add clip_mean_actions parameter to Gaussian and Multivariate Gaussian models …在 GitHub 查看 ↗ -
1.4.3 skrl-v1.4.3
发布说明摘录
[1.4.3] - 2025-03-29 Changed - Update the GitHub Actions workflows for testing and coverage - Update minimum supported Python version to 3.8 and minimum dependencies versions Fixed - Fix environment wrapper issues with spaces utilities' keyword-only arguments (introduced in previous version) - Fix noise device definition in runner implementations在 GitHub 查看 ↗