from envs.base_env import BaseEnv from envs.atari_wrappers import wrap_deepmind from envs.monitor import Monitor import gym from gym import wrappers class GymEnv(BaseEnv): def __init__(self, env_name, id, seed): super().__init__(env_name, id) self.seed = seed self.make() # Get the inside of the wrappers! self.gym_env = self.env.env.env.env.env.env.env self.monitor = self.env.env.env.env.env.env.monitor def make(self): env = Monitor(gym.make(self.env_name), self.rank) env.seed(self.seed + self.rank) self.env = wrap_deepmind(env) return env def step(self, data): observation, reward, done, info = self.env.step(data) return observation, reward, done, info def reset(self): return self.env.reset() def get_action_space(self): return self.env.action_space def get_observation_space(self): return self.env.observation_space def render(self): self.gym_env.render()