试图从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
。
答案 0 :(得分:0)
这是因为,当您通过reset
上的super调用MyEnv
时,您实际上是在调用GoalEnv.reset
,而后者依次调用super(GoalEnv, self).reset()
,从而引发NotImplementedError
。我不认为您应该这样调用该重置方法。