我想在OpenAI环境中修改一些东西。如果我们使用卡特波尔示例,那么我们可以编辑类init函数中的内容,但是对于使用Box2D的环境,它似乎没有那么简单。
例如,考虑BipedalWalker环境。
在这种情况下,我如何编辑诸如SPEED_HIP或SPEED_KNEE变量之类的内容?
发布于 2018-11-10 16:33:27
是的,你可以在健身房修改或创造新的环境。最简单(但不推荐)的方法是直接修改本地健身房安装中的常量,但这当然不是很好。
一个更好的方法是下载双足步行器环境文件(从这里开始)并将其保存到一个文件(例如,my_bipedal_walker.py)中。
然后修改my_bipedal_walker.py文件中的常量,然后将其导入到代码中(假设您将该文件放置在可导入的路径中,或与其他代码文件相同的文件夹):
import gym
from my_bipedal_walker import BipedalWalker
env = BipedalWalker()然后,您可以使用env变量作为环境的一个实例,并为物理计算定义常量,可以与任何RL算法一起使用。
一个更好的方法是使您的自定义环境在OpenAI健身房注册表中可用,您可以按照这里的指示来完成这一操作。
发布于 2018-11-10 13:13:23
您可以编辑双足步行器环境,就像您可以修改cartpole环境一样。
您所要做的就是修改SPEED_KNEE。
如果要更改在代理的移动中使用这些常量的方式,还可以调整step方法。
在对代码进行更改之后,当您实例化环境时,新实例将使用您所做的修改。
https://stackoverflow.com/questions/53194107
复制相似问题