Сброс подкласса GoalEnv не вызван - PullRequest
0 голосов
/ 04 апреля 2019

Попытка получить env из 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

Если я получаю свой собственный env из GoalEnv, базовый сброс никогда не вызывается - поэтому он никогда не проверяет space_space.

Есть ли пример, когда это на самом деле называется?

Я попытался вызвать это в моем сбросе:

super(MyEnv, self).reset

Но только что получил NotImplementedError.

1 Ответ

0 голосов
/ 05 апреля 2019

Это потому, что когда вы вызываете reset через super на MyEnv, вы на самом деле звоните GoalEnv.reset, что, в свою очередь, вызывает super(GoalEnv, self).reset(), что вызывает NotImplementedError. Я не думаю, что вы должны вызывать этот метод сброса таким образом.

...