未调用GoalEnv子类重置

时间:2019-04-04 20:53:30

标签: python openai-gym

试图从GoalEnv派生环境。

有人知道为什么从未调用过此reset函数吗?

def reset(self):
        # Enforce that each GoalEnv uses a Goal-compatible observation space.
        if not isinstance(self.observation_space, gym.spaces.Dict):
            raise error.Error('GoalEnv requires an observation space of type gym.spaces.Dict')
        result = super(GoalEnv, self).reset()
        for key in ['observation', 'achieved_goal', 'desired_goal']:
            if key not in result:
                raise error.Error('GoalEnv requires the "{}" key to be part of the observation dictionary.'.format(key))
        return result

如果我从GoalEnv派生我自己的env,则不会调用基本重置-因此它永远不会检查observation_space。

有一个实际何时调用的示例吗?

我尝试在重置时调用它:

super(MyEnv, self).reset

但是刚得到NotImplementedError

1 个答案:

答案 0 :(得分:0)

这是因为,当您通过reset上的super调用MyEnv时,您实际上是在调用GoalEnv.reset,而后者依次调用super(GoalEnv, self).reset(),从而引发NotImplementedError。我不认为您应该这样调用该重置方法。