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-py
,mujoco
也是一个必要的模块。现在已修复,允许仅安装和使用mujoco-py
。 @YouJiacheng - #3076 - 如果未指定
env.render_mode
,PixelObservationWrapper
会引发异常。 @vmoens - #3080 - 修复了
CarRacing
中车轮颜色不正确的错误 @foxik - #3083 - 修复了 BipedalWalker 中,如果智能体向后移动,则渲染的数组大小会不同的问题。 @younik
拼写
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.make
和 gym.register
。
Step
终止 / 截断 -Env.step
函数返回 5 个值,而不是之前的 4 个(observations, reward, termination, truncation, info
)。一篇包含更多详细信息的博客文章将很快发布,以解释此决定。 @arjun-kg- Reset 信息 -
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
- 修复了 mujoco 离屏渲染,权重和高度值 > 500 #3044 @YouJiacheng
- 允许 toy_text 环境在无头机器上渲染 #3037 @RedTachyon
- 重命名了 mujoco swimmer envs 中的电机 #3036 @lin826
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 - 使用整数播种
Dict
和Tuple
空间可能会导致较低规格的计算机由于需要 8Gb 内存而挂起。更新了使用整数的播种,使其不需要唯一的子种子(子种子冲突很少见)。对于需要所有子空间都有唯一子种子的用户,我们建议使用带有子种子的字典或元组。 @olipinski - 修复了新渲染 API 的元类实现,以允许自定义环境也使用元类。 @YouJiacheng
更新
- 简化了 step 兼容性函数,使其更易于调试。具有旧 step API 的时间限制包装器如果两者都为真,则优先考虑 terminated 而不是 truncated。这是因为旧的 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
- 由于难以同时支持新旧 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
中的顶层文档字符串 @Ice1187humanoidstandup_v4.py
、mujoco_env.py
和vector_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-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
错误修复
- 修复了赛车游戏终止的问题,其中如果智能体完成最后一圈,则环境通过截断而不是终止结束。这为赛车游戏添加了版本 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
空间形状推断允许将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 中引入的环境检查器,使得环境检查器在 make 期间不会调用
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
重大更改
- 添加了 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
上,gymenv_checker
运行,其中包括调用环境reset
和step
来检查是否
环境符合 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_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
完成为 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
此版本包含一些小的错误修复,没有重大更改。
- 通过 @vwxyzjn 在 #2678 中,使
VideoRecorder
向后兼容gym<0.23
- 通过 @andrewtanJS 在 #2684 中,修复了 pygame 事件处理问题(应该修复 windows 和 jupyter notebook 上的支持)
- 通过 @micimize 在 https://github.com/openai/gym/p 中,将 py.typed 添加到 package_data
- 修复了 CI 中大约 1500 个警告 @pseudo-rnd-thoughts
- 弃用警告现在正确显示 @vwxyzjn
- 修复了删除 striker 和 thrower @RushivArora
- 修复了小的依赖项警告错误 @ZhiqingXiao
0.23.0¶
发布于 2022-03-04 - GitHub - PyPI
此版本包含许多错误修复和一些小的更改。
重大更改
- 在渲染重大更改之前,标准化了渲染元数据变量 @trigaten
- 删除了已弃用的 monitor 包装器和相关的死代码 @gianlucadecola
- 未使用的 striker 和 thrower MuJoCo envs 已移动到 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
:环境种子可以在未来传递到此 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 已被弃用。方法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 发行说明
- 旧的 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)
- 添加了
NormalizeObservation
和NormalizeReward
包装器 (@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.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”不是使用的额外项。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