是否可以修改 OpenAI 环境?
Is it possible to modify OpenAI environments?
我想在 OpenAI 环境中修改一些东西。如果我们使用 Cartpole 示例,那么我们可以编辑 class init 函数中的内容,但是对于使用 Box2D
的环境,它似乎并不那么简单。
例如,考虑 BipedalWalker 环境。
在这种情况下,我该如何编辑 SPEED_HIP
或 SPEED_KNEE
变量之类的东西?
您可以像修改手推车环境一样编辑双足助行器环境。
您只需修改constants for SPEED_HIP
and SPEED_KNEE
。
如果您想更改这些常量在代理运动中的使用方式,您可能还想调整 step
方法。
更改代码后,当您实例化环境时,新实例将使用您所做的修改。
是的,您可以在健身房修改或创建新的环境。最简单(但不推荐)的方法是直接修改本地健身房安装中的常量,但这当然不是很好。
更好的方法是下载双足步行者环境文件 (from here) 并将其保存到文件中(比如 my_bipedal_walker.py
)
然后你修改my_bipedal_walker.py
文件中的常量,然后将其导入到你的代码中即可(假设你将文件放在可导入的路径中,或者与其他代码文件相同的文件夹) :
import gym
from my_bipedal_walker import BipedalWalker
env = BipedalWalker()
然后您将 env
变量作为环境的一个实例,其中包含您为物理计算定义的常量,您可以将其与任何 RL 算法一起使用。
更好的方法是让您的自定义环境在 OpenAI 健身房注册表中可用,您可以按照说明进行操作 here
我想在 OpenAI 环境中修改一些东西。如果我们使用 Cartpole 示例,那么我们可以编辑 class init 函数中的内容,但是对于使用 Box2D
的环境,它似乎并不那么简单。
例如,考虑 BipedalWalker 环境。
在这种情况下,我该如何编辑 SPEED_HIP
或 SPEED_KNEE
变量之类的东西?
您可以像修改手推车环境一样编辑双足助行器环境。
您只需修改constants for SPEED_HIP
and SPEED_KNEE
。
如果您想更改这些常量在代理运动中的使用方式,您可能还想调整 step
方法。
更改代码后,当您实例化环境时,新实例将使用您所做的修改。
是的,您可以在健身房修改或创建新的环境。最简单(但不推荐)的方法是直接修改本地健身房安装中的常量,但这当然不是很好。
更好的方法是下载双足步行者环境文件 (from here) 并将其保存到文件中(比如 my_bipedal_walker.py
)
然后你修改my_bipedal_walker.py
文件中的常量,然后将其导入到你的代码中即可(假设你将文件放在可导入的路径中,或者与其他代码文件相同的文件夹) :
import gym
from my_bipedal_walker import BipedalWalker
env = BipedalWalker()
然后您将 env
变量作为环境的一个实例,其中包含您为物理计算定义的常量,您可以将其与任何 RL 算法一起使用。
更好的方法是让您的自定义环境在 OpenAI 健身房注册表中可用,您可以按照说明进行操作 here