是否可以修改OpenAI环境?

时间:2018-11-07 16:49:33

标签: reinforcement-learning openai-gym

我想在OpenAI环境中进行一些修改。如果我们使用Cartpole示例,那么我们可以编辑类init函数中的内容,但是在使用Box2D的环境中,它看起来不是那么简单吗?

例如,考虑BipedalWalker环境。

在这种情况下,我将如何编辑SPEED_HIPSPEED_KNEE变量之类的内容?

谢谢

2 个答案:

答案 0 :(得分:4)

是的,您可以在健身房中修改或创建新的环境。最简单(但不推荐)的方法是直接在本地健身房安装中修改常量,但这当然不是很好。

一种更好的方法是下载Bipedal Walker环境文件(from here)并将其保存到文件(例如my_bipedal_walker.py

然后,您修改my_bipedal_walker.py文件中的常量,然后将其导入代码中(假设您将文件放在可导入的路径中,或与其他代码文件位于同一文件夹中):< / p>

import gym
from my_bipedal_walker import BipedalWalker
env = BipedalWalker()

然后,您将env变量作为环境的实例,并为物理计算定义了常量,可以将其与任何RL算法一起使用。

一种更好的方法是在OpenAI Gym注册表中提供自定义环境,您可以按照here

的说明进行操作

答案 1 :(得分:0)

您可以编辑Bipedal Walker环境,就像可以修改Cartpole环境一样。

您需要做的就是修改constants for SPEED_HIP and SPEED_KNEE

如果要更改在代理程序的移动中使用这些常量的方式,则可能还需要调整step方法。

更改代码后,实例化环境时,新实例将使用您所做的修改。