首页
/ Gymnasium v1.1.0 版本发布:强化学习工具库的重大更新

Gymnasium v1.1.0 版本发布:强化学习工具库的重大更新

2025-06-06 06:03:34作者:胡易黎Nicole

Gymnasium 是一个开源的强化学习工具库,作为 OpenAI Gym 的分支项目,它为研究人员和开发者提供了丰富的强化学习环境和工具。该项目专注于提供标准化的环境接口,支持各种强化学习算法的开发和测试。

向量环境自动重置模式的改进

在 Gymnasium v1.0 中,向量环境的实现进行了重大改进,改变了用户与其交互和扩展的方式。v1.1 版本进一步优化了这一功能,为向量环境(SyncVectorEnv 和 AsyncVectorEnv)及其包装器添加了对三种自动重置模式的支持:

  1. next-step 模式:在下一个步骤自动重置终止或截断的子环境
  2. same-step 模式:在同一时间步自动重置终止或截断的子环境
  3. disabled 模式:禁用自动重置功能

开发者可以通过向量环境的元数据 metadata["autoreset_mode"] 来指定使用的自动重置模式,该值应为 gymnasium.vectors.AutoresetMode 枚举类型。这一改进为不同需求的强化学习实验提供了更大的灵活性。

核心功能增强

概率掩码采样

在 v0.25 版本引入空间掩码功能后,v1.1 进一步增加了概率掩码支持。现在开发者可以使用 space.sample(probability=...) 方法为每个样本指定概率分布,这对于输出动作概率分布的强化学习策略特别有用。

MuJoCo 环境渲染增强

MuJoCo 物理引擎环境的渲染功能得到了显著提升。除了原有的 RGB 图像和深度图像渲染外,v1.1 新增了 RGBD 渲染模式,可以同时输出 RGB 和深度图像作为一个整体输出,为基于视觉的强化学习研究提供了更多可能性。

数据类型转换包装器改进

v1.0 中引入的 Jax、Torch 和 Numpy 之间的转换包装器(如 JaxToTorch、JaxToNumpy 等)在 v1.1 中得到了显著增强。这些改进包括:

  • 新增了对渲染功能的支持
  • 实现了完整的 dlpack API 兼容性
  • 优化了不同深度学习框架间数据转换的性能

其他重要改进

包装器功能增强

  • StickyAction 包装器现在可以支持多步重复同一动作
  • TransformObs/Action 向量包装器现在支持单个观测/动作空间参数
  • 改进了 set_wrapper_attr 方法,提供了更灵活的变量更新方式
  • AtariPreprocessing 现在支持非正方形观测

错误修复与稳定性提升

  • 修复了 CarRacing-v3 环境离散动作的问题
  • 修正了 Mujoco 渲染器 RGB 图像倒置的问题
  • 恢复了 Dict 空间中 OrderedDict 的键顺序
  • 改进了 TimeAwareObservation 对无 spec 环境的支持
  • 增强了包装器错误检查机制

开发者体验优化

  • 新增了多个流行的第三方入门教程
  • 更新了奖励缩放包装器的文档
  • 改进了错误提示信息,特别是 MuJoCo 渲染器相关的错误提示
  • 修复了 Blackjack 环境文档中的数值范围错误

Gymnasium v1.1.0 的这些改进显著提升了库的稳定性、功能性和易用性,为强化学习研究和应用开发提供了更加强大的工具支持。特别是对向量环境和数据转换功能的增强,使得大规模并行训练和跨框架实验变得更加便捷。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
162
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
96
15
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
199
279
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
16
Git4ResearchGit4Research
Git4Research旨在构建一个开放、包容、协作的研究社区,让更多人能够参与到科学研究中,共同推动知识的进步。
HTML
22
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
950
557
risc-v64-naruto-pirisc-v64-naruto-pi
基于QEMU构建的RISC-V64 SOC,支持Linux,baremetal, RTOS等,适合用来学习Linux,后续还会添加大量的controller,实现无需实体开发板,即可学习Linux和RISC-V架构
C
19
5