Exemplo n.º 1
0
    def check_env(env: GymEnv, observation_space: gym.spaces.Space,
                  action_space: gym.spaces.Space):
        """
        Checks the validity of the environment to load vs the one used for training.
        Checked parameters:
        - observation_space
        - action_space

        :param env: (GymEnv)
        :param observation_space: (gym.spaces.Space)
        :param action_space: (gym.spaces.Space)
        """
        if (observation_space != env.observation_space
                # Special cases for images that need to be transposed
                and
                not (is_image_space(env.observation_space) and
                     observation_space == VecTransposeImage.transpose_space(
                         env.observation_space))):
            raise ValueError(
                f'Observation spaces do not match: {observation_space} != {env.observation_space}'
            )
        if action_space != env.action_space:
            raise ValueError(
                f'Action spaces do not match: {action_space} != {env.action_space}'
            )
Exemplo n.º 2
0
def check_for_correct_spaces(env: GymEnv, observation_space: gym.spaces.Space,
                             action_space: gym.spaces.Space):
    """
    Checks that the environment has same spaces as provided ones. Used by BaseAlgorithm to check if
    spaces match after loading the model with given env.
    Checked parameters:
    - observation_space
    - action_space

    :param env: (GymEnv) Environment to check for valid spaces
    :param observation_space: (gym.spaces.Space) Observation space to check against
    :param action_space: (gym.spaces.Space) Action space to check against
    """
    if (observation_space != env.observation_space
            # Special cases for images that need to be transposed
            and
            not (is_image_space(env.observation_space) and observation_space
                 == VecTransposeImage.transpose_space(env.observation_space))):
        raise ValueError(
            f"Observation spaces do not match: {observation_space} != {env.observation_space}"
        )
    if action_space != env.action_space:
        raise ValueError(
            f"Action spaces do not match: {action_space} != {env.action_space}"
        )