如何在初始化时将参数传递给 openai-gym 环境

How to pass arguments to openai-gym environments upon init

关注 this(不可读)论坛 post,我认为它适合 post 它在堆栈溢出上供后代搜索它。

如何在初始化时为健身房环境传递参数?

方法 1 - 使用内置的 register 功能:

使用新名称重新注册环境

例如:

'Blackjack-natural-v0'

而不是原来的

'Blackjack-v0'

首先需要导入注册函数:

from gym.envs.registration import register

然后你像这样使用注册函数:

register( id='Blackjack-natural-v0', entry_point='gym.envs.toy_text:BlackjackEnv', kwargs={'natural': True} )

方法 2 - 添加一个额外的方法到你的环境中:

如果你可以在gym.make之后调用另一个init方法,那么你可以这样做:

your_env = gym.make("YourEnv")
your_env.env.your_init(your_vars)

同时实现了对gym.make中参数的支持,因此您可以在环境名称后立即将关键字参数传递给make

your_env = gym.make('YourEnv', some_kwarg=your_vars)

我 运行 的 gym 版本是 0.12.4

更新:版本 0.10.10. 支持此功能。 Reference. Thanks @Wojciech.