1

我想做的是修改环境,例如以超级马里奥兄弟健身房环境为例,模糊代理训练的图像,看看强化学习代理是否仍然能够在这些“模糊”状态下学习。

OpenAI 是否可以做这样的事情?我将如何添加健身房环境预处理步骤?

4

1 回答 1

1

我建议您为您的健身房环境制作一个包装器,在step()reset()函数中添加处理

这里有一些代码来说明这个想法:

class EnvWrapper(gym.Env):
    def __init__(self, config):
        self.env = gym.make("Your-Env-Name")    # The wrapper encapsulates the gym env
    
    def step(self, action):
        obs, reward, done, info = self.env.step(action)   # calls the gym env methods
        obs = self._blur(obs)                             # applies your specific treatment
        return obs, reward, done, info

    def reset(self):
        obs = self.env.reset()    # same for reset
        return self._blur(obs)

    def _blur(self):
        do_whatever_you_need

使用这种方法,您不需要对原始环境进行任何更改,这通常是一个好主意

于 2020-11-16T11:25:06.947 回答