Gym 版本说明¶
0.26.2¶
发布于 2022-10-04 - GitHub - PyPI
版本说明
这是另一个非常小的错误修复版本。
错误修复
- 由于
reset
现在返回(obs, info)
,因此在向量环境中,这会导致最终的step
的信息被覆盖。现在,最终的观测和信息包含在信息中,作为 "final_observation" 和 "final_info" @pseudo-rnd-thoughts - 在尝试渲染时未指定
render_mode
会添加警告 @younik - 更新 Atari 预处理,以便包装器可以被腌制 @vermouth1992
- Github CI 被强化,以便 CI 只有读取权限 @sashashura
- 澄清和修复
GraphInstance
中的拼写错误 @ekalosak
0.26.1¶
发布于 2022-09-16 - GitHub - PyPI
版本说明
这是 0.26.0 的一个非常小的错误修复版本
错误修复
- #3072 - 以前,即使只使用
mujoco-py
,mujoco
也是一个必要的模块。这已经修复,允许只安装和使用mujoco-py
。 @YouJiacheng - #3076 -
PixelObservationWrapper
如果没有指定env.render_mode
则会引发异常。 @vmoens - #3080 - 修复了
CarRacing
中的错误,其中车轮的颜色不正确 @foxik - #3083 - 修复了 BipedalWalker,如果代理向后移动,则渲染的数组大小会不同。 @younik
拼写
0.26.0¶
发布于 2022-09-06 - GitHub - PyPI
v0.26.0 的版本说明
此版本旨在成为核心 API 的最后一个主要 API 更改。所有之前 "关闭" 的核心 API 更改(步骤终止/截断、重置信息、无种子函数、由初始化决定的渲染模式)现在默认情况下都是必需的。我们仍然计划对 Gym 本身进行重大更改,但这些更改很容易升级(环境和包装器),以及不太常用的更改(向量 API)。一旦这些方面稳定下来,我们将进行适当的 1.0 版本发布并遵循语义版本控制。此外,除非此版本出现严重错误,我们必须发布修补程序版本,否则这将是 Gym 的最后一个版本发布,一段时间内不会再发布新版本。
如果您一直在等待 Gym 的 "稳定" 版本来升级您的项目,因为发生了所有这些变化,那么这就是您要等待的版本。
我们还希望感谢社区在接管 Gym 的维护工作并对核心 API 进行所有这些重大更改时对我们的耐心。我们感谢您的耐心和支持,但希望从现在起的所有更改都将变得更加微小。
破坏向后兼容性
这些更改适用于所有 **gym** 的内部包装器和环境,但对于未更新的环境,我们为用户提供了 EnvCompatibility
包装器,用于将旧的 gym v21/22 环境转换为新的核心 API。此包装器可以通过 apply_api_compatibility
参数轻松地应用于 gym.make
和 gym.register
中。
Step
终止/截断 -Env.step
函数现在返回 5 个值而不是之前返回的 4 个(observations, reward, termination, truncation, info
)。一篇包含更多详细信息的博客文章即将发布,以解释此决定的原因。 @arjun-kg- 重置信息 -
Env.reset
函数现在返回两个值(obs
和info
),对于 gym 包装器和环境没有return_info
参数。这对某些环境至关重要,这些环境提供了每个操作的行动掩码信息,而重置无法提供这些信息。 @balisujohn - 无
Seed
函数 - 虽然Env.seed
是一个有用的函数,但它几乎只用于剧集的开头,现在已添加到gym.reset(seed=...)
中。此外,对于一些使用外部随机数生成器(如 Atari)的环境,除了reset
之外,无法在任何其他时间设置种子。因此,seed
不再期望在 gym 环境中发挥作用,并已从所有 gym 环境中删除 @balisujohn - 渲染 - 通常只使用一种渲染模式,为了帮助打开和关闭渲染窗口,我们已更改
Env.render
,使其不再接受任何参数,因此所有渲染参数都可以作为环境构造函数的一部分,例如gym.make("CartPole-v1", render_mode="human")
。有关新 API 的更多详细信息,请参阅 博客文章 @younik
主要更改
- 渲染模式 - 在
v25
中,渲染模式的含义发生了变化,例如 "rgb_array" 返回渲染帧的列表,而 "single_rgb_array" 返回单个帧。此更改已在此版本中 **恢复**,"rgb_array" 的含义与以前相同,返回单个帧,使用新的模式 "rgb_array_list" 返回 RGB 数组列表。通过在gym.make
期间应用包装器来实现返回渲染观察结果列表的功能。 #3040 @pseudo-rnd-thoughts @younik - 添加了
save_video
,它使用moviepy
渲染 RGB 帧列表,并更新了RecordVideo
以使用此函数。这将删除对录制ansi
输出的支持。 #3016 @younik RandomNumberGenerator
函数:rand
、randn
、randint
、get_state
、set_state
、hash_seed
、create_seed
、_bigint_from_bytes
和_int_list_from_bigint
已被移除。 @balisujohn- 将
ale-py
升级到0.8.0
,该版本与新的核心 API 兼容 - 添加
EnvAPICompatibility
包装器 @RedTachyon
细微改动
- 添加改进的
Sequence
、Graph
和Text
样本掩码 @pseudo-rnd-thoughts - 改进 gym 的
make
和register
类型提示,其中entry_point
成为register
的必要参数。 #3041 @pseudo-rnd-thoughts - 将所有 URL 更改为新的 gym 网站 https://www.gymlibrary.dev/ @FieteO
- 修复了当权重和高度值大于 500 时,mujoco 离屏渲染的问题 #3044 @YouJiacheng
- 允许 toy_text 环境在无头机器上渲染 #3037 @RedTachyon
- 重命名了 mujoco 游泳者环境中的电机 #3036 @lin826
0.25.2¶
发布于 2022-08-18 - GitHub - PyPI
v0.25.2 的发行说明
这是一个相当小的错误修复版本。
错误修复
- 删除了 step 兼容函数对
_TimeLimit.truncated
在 info 中的要求。这使得 step 与 Envpool 兼容 @arjun-kg - 由于在扁平化空间时
Dict
空间的顺序很重要,因此更新了__eq__
以考虑.keys()
的顺序。 @XuehaiPan - 允许对
CarRacing
环境进行序列化。所有 gym 环境都已更新为正确序列化。 @RedTachyon - 使用整数对
Dict
和Tuple
空间进行播种会导致低规格计算机挂起,因为需要 8 Gb 内存。更新了使用整数进行播种的逻辑,不再需要唯一的子种子(子种子冲突很少见)。对于需要所有子空间的唯一子种子的用户,我们建议使用带有子种子的字典或元组。 @olipinski - 修复了新的渲染 API 的元类实现,以允许自定义环境也使用元类。 @YouJiacheng
更新
- 简化了 step 兼容函数,使它们更容易调试。使用旧的 step API 的时间限制包装器优先于终止,而不是截断,如果两者都为真。这是因为旧的 done step API 只能编码 3 个状态(不能编码
terminated=True
和truncated=True
),因此我们必须只编码terminated=True
或truncated=True
。 @pseudo-rnd-thoughts - 添加 Swig 作为依赖项 @kir0ul
- 为
render_mode
和metadata
添加类型注释 @bkrl
0.25.1¶
发布于 2022-07-26 - GitHub - PyPI
版本说明
- 为 CliffWalking 环境添加渲染 @younik
PixelObservationWrapper
仅支持新的渲染 API,因为很难同时支持旧的和新的 API。如果用户使用的是旧的 API,会发出警告 @vmoens
错误修复
- 撤销了对 wrapper.FrameStack 的错误修改 @ZhiqingXiao
- 修复了山地车环境的重置边界 @psc-g
- 删除了导致无法捕获错误的跳过测试 @pseudo-rnd-thoughts
- 为没有元数据的环境添加了向后兼容性 @pseudo-rnd-thoughts
- 修复了
BipedalWalker
对 RGB 数组的渲染 @1b15 - 修复了
PixelObsWrapper
在使用新的渲染时出现的错误 @younik
错别字
- 改写了月球着陆环境中观测值的定义 @EvanMath
gym/spaces/dict.py
中的顶级 docstring @Ice1187humanoidstandup_v4.py
、mujoco_env.py
和vector_list_info.py
中的多个错别字 @timgates42- 被动环境检查器中的错别字 @pseudo-rnd-thoughts
- 游泳者旋转中的错别字 @lin826
0.25.0¶
发布于 2022-07-13 - GitHub - PyPI
版本说明
此版本终于引入了所有计划在过去一年或更长时间内推出的新 API 更改,所有这些更改将在后续版本中默认启用。从那时起,Gym 的开发应该会变得更加平稳。此版本还修复了 0.24.0 和 0.24.1 中存在的重大错误,我们强烈建议不要使用这些版本。
API 更改
Step
- 由于done
不等同于termination
,大多数深度强化学习算法实现都是不正确的,因为它们之间存在着重要的理论和实践差异。因此,我们修改了step
函数,使其返回五个值:obs, reward, termination, truncation, info
。有关这些更改的完整理论和实践原因(以及示例代码更改)将在即将发布的博文中解释。该更改旨在与向后兼容(目前),对于问题,请在 github 或 discord 上报告问题。 @arjun-kgRender
- 渲染 API 发生了变化,因此必须在gym.make
中使用关键字render_mode
指定模式,之后渲染模式将被固定。有关更多详细信息,请参见 https://younis.dev/blog/2022/render-api/ 和 #2671。它还有以下额外更改- 对于
render_mode="human"
,您不需要调用.render()
,渲染将在env.step()
中自动发生。 - 对于
render_mode="rgb_array"
,.render()
会弹出从上次.reset()
开始渲染的帧列表。 - 对于
render_mode="single_rgb_array"
,.render()
会返回单个帧,就像之前一样。
- 对于
Space.sample(mask=...)
允许在对动作进行采样时使用掩码,以启用/禁用对某些动作的随机采样。我们建议开发人员将其添加到reset(return_info=True)
和step
返回的info
参数中。有关掩码或各个空间的示例实现,请参见 #2906。我们在出租车环境中添加了一个示例版本。 @pseudo-rnd-thoughts- 添加
Graph
用于使用图样式观察或动作空间的环境。目前,节点和边缘空间只能是Box
或Discrete
空间。 @jjshoots - 为强化学习添加 `Text` 空间,该空间涉及代理之间的通信并具有动态长度消息(否则可以使用 `MultiDiscrete`)。@ryanrudes @pseudo-rnd-thoughts
错误修复
- 修复了赛车终止问题,如果代理完成了最后一圈,则环境通过截断而不是终止结束。这将赛车版本提升至 v2,并删除了赛车离散,转而使用 `gym.make("CarRacing-v2", continuous=False)` @araffin
- 在 `v0.24.0` 中,`opencv-python` 是项目中一个意外的依赖项。此项已恢复。 @KexianShen @pseudo-rnd-thoughts
- 更新了 `utils.play`,如果环境指定 `keys_to_action`,则该函数将自动使用这些数据。 @Markus28
- 在渲染二十一点环境时,修复了渲染会改变庄家顶牌的错误。 @balisujohn
- 更新了 mujoco 文档字符串以反映意外覆盖的更改。 @Markus28
其他
- 整个项目使用 pyright 部分类型提示(类型提示不忽略任何项目文件)。@RedTachyon @pseudo-rnd-thoughts(未来的工作将向核心 API 添加严格的类型提示)
- 向出租车环境添加了动作屏蔽(由于向后兼容,没有版本提升)@pseudo-rnd-thoughts
- `Box` 空间形状推断允许 `high` 和 `low` 标量自动设置为 `(1,)` 形状。识别标量方面的小幅变化。 @pseudo-rnd-thoughts
- 在经典控制环境中添加了选项支持,以修改环境初始随机状态的边界 @psc-g
- `RecordVideo` 包装器即将被弃用,对使用新渲染 API 的 `TextEncoder` 没有支持。计划用一个接收来自环境的一系列帧并使用 `MoviePy` 自动将其渲染为视频的单个函数替换 `RecordVideo`。 @johnMinelli
- gym `py.Dockerfile` 通过一系列优化从 2Gb 优化到 1.5Gb @TheDen
0.24.1¶
发布于 2022-06-07 - GitHub - PyPI
这是 0.24.0 版本的错误修复版本
已修复的错误
- 替换了 V24 中引入的环境检查器,因此环境检查器在创建时不会调用 `step` 和 `reset`。此新版本是一个包装器,它将在第一次调用 `step` 和 `reset` 时观察它们返回的数据,并根据环境检查器检查数据。 @pseudo-rnd-thoughts
- 修复了 MuJoCo v4 参数键回调、在渲染器中关闭环境以及 mujoco_rendering 关闭方法。 @rodrigodelazcano
- 删除了注册中的冗余警告 @RedTachyon
- 从 MuJoCo xml 文件中删除了数学运算 @quagla
- 添加了对反序列化旧版 `spaces.Box` 的支持 @pseudo-rnd-thoughts
- 修复了 mujoco 环境动作和观测空间文档字符串表格 @pseudo-rnd-thoughts
- 禁用包装器访问 `_np_random` 属性,`np_random` 现在转发到环境 @pseudo-rnd-thoughts
- 重写 setup.py 以添加一个 "testing" 元依赖组 @pseudo-rnd-thoughts
- 修复了 `rescale_action` 包装器中的文档字符串 @gianlucadecola
0.24.0¶
发布于 2022-05-25 - GitHub - PyPI
主要更改
- 添加了使用新 deepmind mujoco 2.2.0 模块的 v4 mujoco 环境。
这可以通过 `pip install gym[mujoco]` 安装,旧绑定仍然可用
使用 `v3` 环境和 `pip install gym[mujoco-py]`。
这些新的 `v4` 环境应该与 `v3` 具有相同的训练曲线。对于 Ant,我们发现了一个
在 `v3` 中未应用的接触参数可以在 `v4` 中启用,但发现会产生显著的
更差的性能 参见评论 了解更多详情。 @rodrigodelazcano - 向量环境步骤 `info` API 已更改,以便将来允许硬件加速。
参见 此 PR 以了解现在使用字典而不是环境信息列表的修改后的 `info` 样式。
如果你仍然希望使用列表信息样式,请使用 `VectorListInfo` 包装器。 @gianlucadecola - 在 `gym.make` 上,gym `env_checker` 会运行,其中包括调用环境 `reset` 和 `step` 以检查
环境是否符合 gym API。要禁用此功能,请运行 `gym.make(..., disable_env_checker=True)`。 @RedTachyon - 重新添加了 `gym.make("MODULE:ENV")` 导入样式,该样式在 v0.22 中意外删除 @arjun-kg
- `Env.render` 现在强制执行顺序,这样 `Env.reset` 必须在调用 `Env.render` 之前进行。如果这是一个必要的
功能,然后设置 `OrderEnforcer` 包装器 `disable_render_order_enforcing=True`。 @pseudo-rnd-thoughts - 向月球着陆器环境添加了风和湍流,默认情况下关闭,
使用 `wind_power` 和 `turbulence` 参数。 @virgilt - 改进了 `play` 函数,允许传递多个键盘字母而不是 ascii 值 @Markus28
- 为大多数存储库添加了 google 风格的 pydoc 字符串 @pseudo-rnd-thoughts @Markus28
- 通过 `gym.make("CarRacing-v1", continuous=False)` 添加了离散赛车环境版本
- Pygame 现在是 box2d 和经典控制环境的可选模块,仅在渲染时需要。
因此,请使用 `pip install gym[box2d]` 或 `pip install gym[classic_control]` 安装 pygame @gianlucadecola @RedTachyon - 修复了批空间(在 VectorEnv 中使用)中的错误,即原始空间的种子被忽略 @pseudo-rnd-thoughts
- 添加了 `AutoResetWrapper`,当 `Env.step` done 为 True 时自动调用 `Env.reset` @balisujohn
细微改动
- BipedalWalker 和 LunarLander 的观测空间具有非无穷大的上限和下限。 @jjshoots
- 将 ALE-py 版本提升至
0.7.5
- 通过不渲染屏幕外的多边形来提高赛车性能 @andrewtanJS
- 修复了赛车中黑色而不是红色/白色的转向指示灯 @jjshoots
- 修复了
VecEnvWrapper
的错误,使其能够将方法调用转发到环境 @arjun-kg - 删除了 Box2d 上不必要的 try except,这样如果
Box2d
安装不正确,就会显示更友好的错误信息 @pseudo-rnd-thoughts - 简化了
gym.registry
后端 @RedTachyon - 通过回溯移植 python 3.7+ 模块重新添加了 python 3.6 支持。这没有经过测试,也不兼容 mujoco 环境。 @pseudo-rnd-thoughts
0.23.1¶
发布日期:2022-03-11 - GitHub - PyPI
此版本包含一些小的错误修复,没有重大更改。
- 使
VideoRecorder
向后兼容gym<0.23
,由 @vwxyzjn 在 #2678 中完成 - 修复了 pygame 事件处理问题(这应该修复了 Windows 和 jupyter 笔记本的支持),由 @andrewtanJS 在 #2684 中完成
- 将 py.typed 添加到 package_data 中,由 @micimize 在 https://github.com/openai/gym/p 中完成
- 修复了 CI 中大约 1500 个警告 @pseudo-rnd-thoughts
- 弃用警告现在可以正确显示 @vwxyzjn
- 修复了移除 striker 和 thrower 的问题 @RushivArora
- 修复了小的依赖警告错误 @ZhiqingXiao
0.23.0¶
发布日期:2022-03-04 - GitHub - PyPI
此版本包含许多错误修复和一些小的更改。
重大更改
- 在渲染重大更改之前,标准化渲染元数据变量 @trigaten
- 删除了已弃用的 monitor wrapper 和相关的死代码 @gianlucadecola
- 未使用的 striker 和 thrower MuJoCo 环境已移至 https://github.com/RushivArora/Gym-Mujoco-Archive @RushivArora
许多小的错误修复 (@vwxyzjn , @RedTachyon , @rusu24edward , @Markus28 , @dsctt , @andrewtanJS , @tristandeleu , @duburcqa)
0.22.0¶
发布日期:2022-02-17 - GitHub - PyPI
v0.22 版本说明
此版本代表 Gym 有史以来最大的一组更改,并朝着这里概述的 1.0 计划迈出了一大步: #2524
Gym 现在拥有一个新的综合文档网站: https://www.gymlibrary.ml/ !
API 更改
-
Env.reset
现在接受三个新的参数 -
options
:可用于控制课程学习,而无需重新初始化环境,这可能很昂贵 (@RedTachyon) -
seed
:将来可以将环境种子传递给此重置参数。旧的.seed()
方法正在被弃用,而使用此方法,尽管它将继续像以前一样工作,直到 1.0 版本发布以实现向后兼容性 (@RedTachyon) -
return_info
:当设置为True
时,重置将返回 obs,info。这目前默认为False
,但在 Gym 1.0 中将成为默认行为 (@RedTachyon) -
环境名称在注册期间不再需要版本,并将建议智能的类似名称 (@kir0ul,@JesseFarebro)
-
向量环境现在支持
info
中的 terminal_observation,并支持批处理动作空间 (@vwxyzjn,@tristandeleu)
环境更改
- blackjack 和 frozen lake toy_text 环境现在使用 PyGame 进行了漂亮的图形渲染 (@1b15)
- 将机器人环境移至 gym-robotics 包 (@seungjaeryanlee,@Rohan138,@vwxyzjn) (根据 #2456 (评论) 中的讨论)
- 双足步行者和月球着陆器环境已合并到一个类中 (@andrewtanJS)
- Atari 环境现在使用标准的种子 API (@JesseFarebro)
- 修复了赛车 box2d 环境中的重大错误修复,并提升了版本 (@carlosluis,@araffin)
- 重构了所有 box2d 和 classic_control 环境,使用 PyGame 而不是 Pyglet,因为 pyglet 的问题一直是 Gym 项目存在以来最常出现的 GitHub 问题来源之一 (@andrewtanJS)
其他更改
- 删除了 DiscreteEnv 类,内置环境不再使用它 (@carlosluis)
- 添加了大量类型提示 (@ikamensh,@RedTachyon)
- Python 3.10 支持
- 大量的代码重构、清理、错误消息改进和小的错误修复 (@vwxyzjn,@Markus28,@RushivArora,@jjshoots,@XuehaiPan,@Rohan138,@JesseFarebro,@Ericonaldo,@AdilZouitine,@RedTachyon)
- 所有环境文件现在都在顶部拥有显著改进的 Readme 文件(文档网站会自动从中提取)
- 作为种子更改的一部分,Gym 的 RNG 已修改为使用
np.random.Generator
,因为 RandomState API 已被弃用。方法randint
、rand
、randn
分别被integers
、random
和standard_normal
替换。因此,随机数生成器已从MT19937
更改为PCG64
。
完整变更日志: v0.21.0...0.22.0
v0.21.0¶
发布日期:2021-10-02 - GitHub - PyPI
v0.21.0 版本说明
- 修复了上次发布和升级到 ALE-Py 后损坏的旧 Atari 入口点 (@JesseFarebro)
- Atari 环境现在提供了更清晰的错误消息和警告 (@JesseFarebro)
- 添加了一个新的插件系统,以更轻松地包含第三方环境 (@JesseFarebro)
- Atari 环境现在使用新的插件系统来防止名称冲突和其他问题 (@JesseFarebro)
pip install gym[atari]
不再分发 Atari ROM,而 ALE(使用的 Atari 模拟器)需要这些 ROM 来运行各种游戏。将 ROM 安装到 ALE 的最简单方法是使用 AutoROM。Gym 现在有一个 AutoROM 的钩子,可以更轻松地进行 CI 自动化,以便使用pip install gym[accept-rom-license]
调用 AutoROM 将 ROM 添加到 ALE。您可以使用简写gym[atari, accept-rom-license]
安装整个套件。请注意,正如名称中所述,安装gym[accept-rom-license]
表示您确认已获得安装 ROM 的相关许可。(@JesseFarebro)- 使用框动作空间的环境,在加载使用旧版 Gym 训练的保存策略时,一个意外的重大更改已得到修复。(@RedTachyon)
- Pendulum 的物理逻辑已进行了一些小幅修复,版本已升级至 v1 (@RedTachyon)
- 测试已重构为有序的方式(@RedTachyon)
- 字典空间现在具有标准的字典助手方法(@Rohan138)
- 环境属性现在被转发到包装器(@tristandeleu)
- Gym 现在会严格要求在第一次执行 step 之前调用 reset (@ahmedo42)
- 将错误消息正确地管道传输到 stderr (@XuehaiPan)
- 修复视频保存问题(@zlig)
此外,Gym 正在将第三方环境列表编译到我们正在开发的新文档网站中。请提交缺少的 PR: https://github.com/openai/gym/blob/master/docs/third_party_environments.md
完整变更日志: v0.20.0...v0.21.0
v0.20.0¶
发布日期:2021-09-14 - GitHub - PyPI
v0.20.0 版本说明
重大变更
- 使用 ALE-Py 替换了 Atari-Py 依赖项,并更新了所有版本。这是一个巨大的升级,包含许多更改,请参阅 完整说明 (@JesseFarebro)
- 请注意,ALE-Py 不包含 ROM。但是,您可以使用两行 bash 命令和
AutoROM
安装 ROM(pip3 install autorom 然后 autorom
),请参阅 https://github.com/PettingZoo-Team/AutoROM。这是 CI 等的推荐方法。
重大更改和新功能
- 添加
RecordVideo
包装器,弃用monitor
包装器,并支持RecordEpisodeStatistics
包装器 (@vwxyzjn) - 现在将环境之外使用的依赖项(例如用于包装器)放在
gym[other]
中 (@jkterry1) - 将算法和未使用的玩具文本环境(猜谜游戏、冷热游戏、nchain、轮盘赌、kellycoinflip)移至第三方仓库 (@jkterry1, @Rohan138)
- 修复了 MultiDiscrete 空间中的 flatten 实用程序和 flatdim (@tristandeleu)
- 向字典空间添加
__setitem__
(@jfpettit) - 对框空间的
.contains
方法进行了重大修复 (@FirefoxMetzger) - 使 blackjack 环境完全符合 Barto 和 Sutton 教科书标准,版本已升级至 v1 (@RedTachyon)
- 添加了
NormalizeObservation
和NormalizeReward
包装器 (@vwxyzjn) - 向 MultiDiscrete 空间添加
__getitem__
和__len__
(@XuehaiPan) - 将
.shape
更改为框空间的属性,以防止出现意外行为 (@RedTachyon)
错误修复和升级
- 视频录制程序可以优雅地处理关闭 (@XuehaiPan)
- 解决了 setup.py 中剩余的非必要依赖项 (@jkterry1)
- Acrobot 性能略微提升 (@TuckerBMorgan)
- Pendulum 在发送 0 力时可以正确渲染 (@Olimoyo)
- 使所有经典控制环境和 bipedal-walker 的观测数据类型与观测空间数据类型保持一致 (@RedTachyon)
- 删除了注册中未使用的和长期弃用的功能 (@Rohan138)
- Framestack 包装器现在继承自 obswrapper (@jfpettit)
spaces.Tuple
和spaces.Dict
的 seed 方法现在可以正常运行,完全随机,功能齐全,并以预期的方式运行 (@XuehaiPan, @RaghuSpaceRajan)- 将
time()
替换为perf_counter()
,以更好地测量短持续时间 (@zuoxingdong)
完整变更日志: 0.19.0...v0.20.0
0.19.0¶
发布日期:2021-08-13 - GitHub - PyPI
Gym 0.19.0 是一个大型维护版本,也是 @jkterry1 成为维护者以来的第一个版本。此版本应该没有重大更改。
新功能
- 向 multidiscrete 空间添加了自定义数据类型参数 (@m-orsini)
- 基于 SB3 和 PettingZoo 测试添加了 API 合规性测试 (@amtamasi)
- RecordEpisodeStatics 与 VectorEnv 兼容 (@vwxyzjn)
错误修复
- 删除了未使用的依赖项,删除了导致新机器上安装问题的不必要的依赖项版本要求,添加了完整的 requirements.txt 并将通用依赖项移至 extras。值得注意的是,“toy_text” 不是一个已使用的 extra。atari-py 现在已固定到一个精确的工作版本,直到切换到 ale-py (@jkterry1)
- 修复了 FrozenLake 和 FrozenLake8x8 中的奖励错误;版本已升级至 v1 (@ZhiqingXiao)
-删除了剩余的 numpy 弃用警告 (@super-pirata) - 修复了视频录制问题 (@mahiuchun, @zlig)
- EZ pickle 参数修复 (@zzyunzhi, @Indoril007)
- 其他非常小的(非破坏性)修复
其他
0.12.5¶
v0.9.6¶
发布日期:2018-02-01 - GitHub - PyPI
- 现在,您的
Env
和Wrapper
子类应该定义step
、reset
、render
、close
、seed
而不是带下划线的方法名。 - 删除了
board_game
、debugging
、safety
、parameter_tuning
环境,因为它们没有由我们在 OpenAI 维护。我们鼓励作者和用户为这些环境创建新的仓库。 - 将
MultiDiscrete
动作空间更改为从[0, ..., n-1]
而不是[a, ..., b-1]
开始。 - 不再使用
render(close=True)
,使用环境特定的方法来关闭渲染。 - 删除了
scoreboard
目录,因为网站不再存在。 - 将
gym/monitoring
移至gym/wrappers/monitoring
- 向
Space
添加了dtype
。 - 不再使用 Python 的内置模块,使用
gym.logger