试图从GoalEnv派生出env。
有谁知道为什么从未调用这个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
。
这是因为当你在reset
上通过super调用MyEnv
时,你实际上是在调用GoalEnv.reset
,后者又调用引发super(GoalEnv, self).reset()
的NotImplementedError
。我认为你不应该像那样调用那种重置方法。