Gym 发布说明

0.26.2

发布于 2022-10-04 - GitHub - PyPI

发布说明

这是另一个非常小的错误修复版本。

错误修复

  • 由于 reset 现在返回 (obs, info),这导致在向量化环境中,最终 step 的信息被覆盖。现在,最终的观测和信息包含在 info 中,作为 "final_observation" 和 "final_info" @pseudo-rnd-thoughts
  • 当尝试在未指定 render_mode 的情况下渲染时,添加警告 @younik
  • 更新 Atari 预处理,以便包装器可以被 pickle @vermouth1992
  • Github CI 得到加强,使得 CI 仅具有读取权限 @sashashura
  • GraphInstance 中澄清并修复拼写错误 @ekalosak

0.26.1

发布于 2022-09-16 - GitHub - PyPI

发布说明

这是 0.26.0 的一个非常小的错误修复版本

错误修复

  • #3072 - 之前,即使仅使用 mujoco-pymujoco 也是一个必要的模块。现在已修复,允许仅安装和使用 mujoco-py@YouJiacheng
  • #3076 - 如果未指定 env.render_modePixelObservationWrapper 会引发异常。 @vmoens
  • #3080 - 修复了 CarRacing 中车轮颜色不正确的错误 @foxik
  • #3083 - 修复了 BipedalWalker 中,如果智能体向后移动,则渲染的数组大小会不同的问题。 @younik

拼写

  • 修复了 readme API 示例中的截断拼写错误 @rdnfn
  • 将 pendulum 观测空间从 angle 更新为 theta,以使其更一致 @ikamensh

0.26.0

发布于 2022-09-06 - GitHub - PyPI

v0.26.0 的发布说明

此版本旨在成为核心 API 主要 API 更改的最后一个版本。先前“关闭”的基础 API 更改(step 终止 / 截断、reset 信息、无 seed 函数、由初始化确定的渲染模式)现在默认启用。我们仍然计划对 Gym 本身进行重大更改,但这些更改很容易升级(环境和包装器),以及不常用的东西(向量 API)。一旦这些方面稳定下来,我们将进行适当的 1.0 版本发布并遵循语义版本控制。此外,除非此版本出现严重错误,并且我们必须发布补丁版本,否则这将是 Gym 在一段时间内的最后一个版本。

如果您一直在等待 Gym 的“稳定”版本来升级您的项目,考虑到所有正在进行的更改,那么这就是您要找的版本。

我们还想说,我们非常感谢社区在我们接管 Gym 的维护并对核心 API 进行所有这些巨大更改的过程中所展现的耐心。我们感谢您的耐心和支持,但希望从现在开始的所有更改都将是次要的。

向后不兼容的更改

这些更改适用于所有 gym 的内部包装器和环境,但对于未更新的环境,我们提供了 EnvCompatibility 包装器,供用户将旧的 gym v21 / 22 环境转换为新的核心 API。此包装器可以通过 apply_api_compatibility 参数轻松应用于 gym.makegym.register

  • Step 终止 / 截断 - Env.step 函数返回 5 个值,而不是之前的 4 个(observations, reward, termination, truncation, info)。一篇包含更多详细信息的博客文章将很快发布,以解释此决定。 @arjun-kg
  • Reset 信息 - Env.reset 函数返回两个值(obsinfo),没有用于 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 函数:randrandnrandintget_stateset_statehash_seedcreate_seed_bigint_from_bytes_int_list_from_bigint 已被删除。 @balisujohn
  • ale-py 升级到 0.8.0,它与新的核心 API 兼容
  • 添加了 EnvAPICompatibility 包装器 @RedTachyon

次要更改

0.25.2

发布于 2022-08-18 - GitHub - PyPI

v0.25.2 的发布说明

这是一个相当小的错误修复版本。

错误修复

  • 移除了 step 兼容性函数中对 info 中 _TimeLimit.truncated 的要求。这使得 step 与 Envpool 兼容 @arjun-kg
  • 由于 Dict 空间的顺序在展平空间时很重要,因此更新了 __eq__ 以考虑 .keys() 的顺序。 @XuehaiPan
  • 允许 CarRacing 环境被 pickle。更新了所有 gym 环境以正确地被 pickle。 @RedTachyon
  • 使用整数播种 DictTuple 空间可能会导致较低规格的计算机由于需要 8Gb 内存而挂起。更新了使用整数的播种,使其不需要唯一的子种子(子种子冲突很少见)。对于需要所有子空间都有唯一子种子的用户,我们建议使用带有子种子的字典或元组。 @olipinski
  • 修复了新渲染 API 的元类实现,以允许自定义环境也使用元类。 @YouJiacheng

更新

  • 简化了 step 兼容性函数,使其更易于调试。具有旧 step API 的时间限制包装器如果两者都为真,则优先考虑 terminated 而不是 truncated。这是因为旧的 done step API 只能编码 3 种状态(无法编码 terminated=Truetruncated=True),因此我们必须仅编码为 terminated=Truetruncated=True@pseudo-rnd-thoughts
  • 添加 Swig 作为依赖项 @kir0ul
  • render_modemetadata 添加类型注释 @bkrl

0.25.1

发布于 2022-07-26 - GitHub - PyPI

发布说明

  • 为 CliffWalking 环境添加渲染 @younik
  • 由于难以同时支持新旧 API,PixelObservationWrapper 仅支持新的渲染 API。如果用户正在使用旧的 API,则会引发警告 @vmoens

错误修复

  • 恢复对 wrapper.FrameStack 的不正确编辑 @ZhiqingXiao
  • 修复 mountain car 的重置边界 @psc-g
  • 移除了导致错误未被捕获的跳过测试 @pseudo-rnd-thoughts
  • 为没有元数据的环境添加向后兼容性 @pseudo-rnd-thoughts
  • 修复了 BipedalWalker RGB 数组的渲染 @1b15
  • 修复了 PixelObsWrapper 中使用新渲染的错误 @younik

拼写错误

  • 在 Lunar Lander 环境中改写了观测的定义 @EvanMath
  • gym/spaces/dict.py 中的顶层文档字符串 @Ice1187
  • humanoidstandup_v4.pymujoco_env.pyvector_list_info.py 中的多个拼写错误 @timgates42
  • 被动环境检查器中的拼写错误 @pseudo-rnd-thoughts
  • Swimmer 旋转中的拼写错误 @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-kg
  • Render - 渲染 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。目前,节点和边缘空间只能是 BoxDiscrete 空间。 @jjshoots
  • 为涉及智能体之间通信且具有动态长度消息的强化学习添加 Text 空间(否则可以使用 MultiDiscrete)。 @ryanrudes @pseudo-rnd-thoughts

错误修复

  • 修复了赛车游戏终止的问题,其中如果智能体完成最后一圈,则环境通过截断而不是终止结束。这为赛车游戏添加了版本 bump 到 v2,并删除了赛车游戏离散版本,转而使用 gym.make("CarRacing-v2", continuous=False) @araffin
  • v0.24.0 中,opencv-python 意外地成为项目的要求。这已被恢复。 @KexianShen @pseudo-rnd-thoughts
  • 更新了 utils.play,以便如果环境指定了 keys_to_action,则该函数将自动使用该数据。 @Markus28
  • 在渲染 blackjack 环境时,修复了渲染会更改庄家顶牌的错误。 @balisujohn
  • 更新了 mujoco 文档字符串,以反映意外覆盖的更改。 @Markus28

其他

  • 整个项目使用 pyright 进行部分类型提示(项目文件中没有被类型提示器忽略的文件)。 @RedTachyon @pseudo-rnd-thoughts (未来的工作将为核心 API 添加严格的类型提示)
  • 动作掩码已添加到出租车环境中(由于向后兼容,没有版本 bump) @pseudo-rnd-thoughts
  • Box 空间形状推断允许将 highlow 标量自动设置为 (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 中引入的环境检查器,使得环境检查器在 make 期间不会调用 stepreset。这个新版本是一个包装器,它将观察 stepreset 在首次调用时返回的数据,并根据环境检查器检查数据。 @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

重大更改

  • 添加了 v4 mujoco 环境,使用新的 deepmind mujoco 2.2.0 模块。
    可以通过 pip install gym[mujoco] 安装,旧的绑定仍然
    可以使用 v3 环境和 pip install gym[mujoco-py]
    这些新的 v4 环境应该具有与 v3 相同的训练曲线。对于 Ant,我们发现有一个
    接触参数在 v3 中未应用,可以在 v4 中启用,但发现会产生明显的
    更差的性能 请参阅评论 了解更多详情。 @rodrigodelazcano
  • 向量环境 step info API 已更改,以便将来支持硬件加速。
    请参阅 此 PR 了解修改后的 info 样式,该样式现在使用字典而不是环境信息的列表。
    如果您仍然希望使用列表 info 样式,请使用 VectorListInfo 包装器。 @gianlucadecola
  • gym.make 上,gym env_checker 运行,其中包括调用环境 resetstep 来检查是否
    环境符合 gym API。要禁用此功能,请运行 gym.make(..., disable_env_checker=True)@RedTachyon
  • 重新添加了 gym.make("MODULE:ENV") 导入样式,该样式在 v0.22 中被意外删除 @arjun-kg
  • 现在强制执行 Env.render 的顺序,使得在调用 Env.render 之前需要 Env.reset。如果这是一个必需的
    功能,则设置 OrderEnforcer 包装器 disable_render_order_enforcing=True@pseudo-rnd-thoughts
  • 在 Lunar Lander 环境中添加了风和湍流,默认情况下是关闭的,
    使用 wind_powerturbulence 参数。 @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 完成为 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

此版本包含一些小的错误修复,没有重大更改。

0.23.0

发布于 2022-03-04 - GitHub - PyPI

此版本包含许多错误修复和一些小的更改。

重大更改

许多小的错误修复 (@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:环境种子可以在未来传递到此 reset 参数。旧的 .seed() 方法已被弃用,取而代之的是此方法,尽管出于向后兼容性的目的,它将在 1.0 版本之前继续像以前一样工作 (@RedTachyon)

  • return_info:当设置为 True 时,reset 将返回 obs, info。目前默认为 False,但在 Gym 1.0 中将成为默认行为 (@RedTachyon)

  • 环境名称在注册期间不再需要版本,并将建议智能的相似名称 (@kir0ul, @JesseFarebro)

  • 向量环境现在支持 info 中的 terminal_observation 并支持批量动作空间 (@vwxyzjn, @tristandeleu)

环境变更

  • blackjack 和 frozen lake toy_text 环境现在使用 PyGame 进行了漂亮的图形渲染 (@1b15)
  • 将 robotics 环境移动到 gym-robotics 包 (@seungjaeryanlee, @Rohan138, @vwxyzjn) (根据 #2456 (comment) 中的讨论)
  • bipedal walker 和 lunar lander 环境已合并为一个类 (@andrewtanJS)
  • Atari 环境现在使用标准的 seeding API (@JesseFarebro)
  • 修复了 car_racing 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)
  • 所有环境文件现在都在顶部有显着改进的自述文件(文档网站自动从中提取)
  • 作为 seeding 更改的一部分,Gym 的 RNG 已被修改为使用 np.random.Generator,因为 RandomState API 已被弃用。方法 randintrandrandn 分别被 integersrandomstandard_normal 替换。因此,随机数生成器已从 MT19937 更改为 PCG64

完整变更日志: v0.21.0...0.22.0

v0.21.0

发布于 2021-10-02 - GitHub - PyPI

v0.21.0 发行说明

  • 旧的 Atari 入口点已修复,该入口点在上一个版本和升级到 ALE-Py 时被破坏 (@JesseFarebro)
  • Atari 环境现在提供更清晰的错误消息和警告 (@JesseFarebro)
  • 添加了一个新的插件系统,以更轻松地包含第三方环境 (@JesseFarebro)
  • Atari 环境现在使用新的插件系统来防止名称冲突和其他问题 (@JesseFarebro)
  • pip install gym[atari] 不再分发 ALE(使用的 Atari 模拟器)运行各种游戏所需的 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 上训练的策略时意外的重大更改,这些策略使用 box 动作空间的环境。 (@RedTachyon)
  • Pendulum 对其物理逻辑进行了小幅修复,版本已提升至 v1 (@RedTachyon)
  • 测试已重构为有序的方式 (@RedTachyon)
  • Dict 空间现在具有标准的 dict 帮助方法 (@Rohan138)
  • 环境属性现在被转发到包装器 (@tristandeleu)
  • Gym 现在正确地强制执行在首次 stepping 之前调用 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。您可以使用 AutoROM 在两行 bash 中安装 ROM(pip3 install autorom and then autorom),请参阅 https://github.com/PettingZoo-Team/AutoROM。这是 CI 等的推荐方法。

重大更改和新功能

  • 添加 RecordVideo 包装器,弃用 monitor 包装器,改用它和 RecordEpisodeStatistics 包装器 (@vwxyzjn)
  • 环境外部使用的依赖项(例如,用于包装器)现在位于 gym[other] 中 (@jkterry1)
  • 将算法和未使用的 toy-text envs(guessing game、hotter colder、nchain、roulette、kellycoinflip)移动到第三方存储库 (@jkterry1, @Rohan138)
  • 修复了 MultiDiscrete 空间中的 flatten 实用程序和 flatdim (@tristandeleu)
  • 向 dict 空间添加 __setitem__ (@jfpettit)
  • 对 box 空间的 .contains 方法进行了大量修复 (@FirefoxMetzger)
  • 使 blackjack 环境正确符合 Barto 和 Sutton 书籍标准,版本提升至 v1 (@RedTachyon)
  • 添加了 NormalizeObservationNormalizeReward 包装器 (@vwxyzjn)
  • 向 MultiDiscrete 空间添加 __getitem____len__ (@XuehaiPan)
  • .shape 更改为 box 空间的属性,以防止意外行为 (@RedTachyon)

错误修复和升级

  • 视频记录器优雅地处理关闭 (@XuehaiPan)
  • 解决了 setup.py 中剩余的不必要的依赖项 (@jkterry1)
  • 对 acrobot 性能进行了小幅改进 (@TuckerBMorgan)
  • 当发送 0 力时,Pendulum 正确渲染 (@Olimoyo)
  • 使观察 dtypes 与所有经典控制 envs 和 bipedal-walker 的观察空间 dtypes 保持一致 (@RedTachyon)
  • 删除了注册中未使用和长期弃用的功能 (@Rohan138)
  • Framestack 包装器现在从 obswrapper 继承 (@jfpettit)
  • spaces.Tuplespaces.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”不是使用的额外项。atari-py 现在被钉在精确的工作版本上,等待切换到 ale-py (@jkterry1)
  • 修复了 FrozenLake 和 FrozenLake8x8 中的奖励错误;版本提升至 v1 (@ZhiqingXiao)
    -删除了剩余的 numpy 弃用警告 (@super-pirata)
  • 修复了视频录制 (@mahiuchun, @zlig)
  • EZ pickle 参数修复 (@zzyunzhi, @Indoril007)
  • 其他非常小的(非重大)修复

其他

  • 删除了少量死代码 (@jkterry1)
  • 大量的错别字、CI 和文档修复(主要是 @cclauss)
  • 新的自述文件和更新的第三方 env 列表 (@jkterry1)
  • 代码现在完全符合 flake8 标准,通过 black (@cclauss)

0.12.5

发布于 2019-05-29 - GitHub - PyPI

v0.9.6

发布于 2018-02-01 - GitHub - PyPI

  • 现在你的 EnvWrapper 子类应该定义 stepresetrendercloseseed,而不是带下划线的方法名。
  • 移除了 board_gamedebuggingsafetyparameter_tuning 环境,因为它们不再由 OpenAI 维护。我们鼓励作者和用户为这些环境创建新的仓库。
  • MultiDiscrete 动作空间更改为从 [0, ..., n-1] 范围,而不是 [a, ..., b-1]
  • 不再使用 render(close=True),请使用环境特定的方法来关闭渲染。
  • 移除了 scoreboard 目录,因为该站点已不存在。
  • gym/monitoring 移动到 gym/wrappers/monitoring
  • Space 添加 dtype
  • 不再使用 Python 的内置模块,而是使用 gym.logger

v0.9.5

发布于 2018-01-26 - GitHub - PyPI

v0.7.4

发布于 2017-03-05 - GitHub - PyPI

v0.7.3

发布于 2017-02-01 - GitHub - PyPI