Example #1
0
    def render(self, mode="human"):
        if self.viewer is None:
            self.viewer = rendering.SimpleImageViewer()
        if mode == "human":
            self.viewer.imshow(self.observation)

        elif mode == "rgb_array":
            render_frame = np.copy(self.worldL)
            render_frame[5:self.window_shape[1]+5, 5:self.window_shape[0]+5] = self.observation
            cv2.rectangle(render_frame, (0,0), (self.window_shape[1]+10, self.window_shape[0]+10),
                         (0,0,0), 5)
            return render_frame
Example #2
0
 def render(self, mode='human', width=240, height=240):
     img = np.array(DrawObservation((self.lastFieldObs, self.lastBotObs), width, height))
     img = np.expand_dims(img, axis=-1)
     img = np.repeat(img, 3, axis=-1)
     if mode == 'rgb_array':
         return img
     elif mode == 'human':
         from gym.envs.classic_control import rendering
         if self.viewer is None:
             self.viewer = rendering.SimpleImageViewer()
         self.viewer.imshow(img)
         return self.viewer.isopen
    def render(self, mode='human'):
        """ render the current drawn picture image for human """
        if mode == 'human':
            if self.viewer is None:
                from gym.envs.classic_control import rendering
                self.viewer = rendering.SimpleImageViewer()
            self.viewer.imshow(self._get_rgb_array())

        elif mode == 'rgb_array':
            return self._get_rgb_array()
        else:
            raise NotImplementedError
Example #4
0
 def render(self, mode='human', inspect=False, img=None):
     if not inspect:
         return self.env.render(mode)
     else:
         if mode == 'rgb_array':
             return img
         elif mode == 'human':
             from gym.envs.classic_control import rendering
             if self.env.env.viewer is None:
                 self.env.env.viewer = rendering.SimpleImageViewer()
             self.env.env.viewer.imshow(img)
             return self.env.env.viewer.isopen
Example #5
0
 def render(self, size=None):
     import cv2
     img = self._obs[-1] if type(self._obs) is list else self._obs
     if size: img = cv2.resize(img, size, interpolation=cv2.INTER_NEAREST)
     if len(img.shape) == 2: img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB) #img = np.expand_dims(img, -1)
     try:
         self.viewer.imshow(img)
     except AttributeError:
         from gym.envs.classic_control import rendering
         self.viewer = rendering.SimpleImageViewer()
         self.viewer.imshow(img)
     return self.viewer.isopen
Example #6
0
    def render(self, mode='human'):
        img = copy.copy(self._base_img)
        img = np.asarray(img)

        if mode == 'rgb_array':
            return img
        elif mode == 'human':
            from gym.envs.classic_control import rendering
            if self.viewer is None:
                self.viewer = rendering.SimpleImageViewer()
            self.viewer.imshow(img)
            return self.viewer.isopen
Example #7
0
    def render(self, mode='human', close=False):
        if close:
            if self.viewer is not None:
                self.viewer.close()
                self.viewer = None
            return

        if self.viewer is None:
            from gym.envs.classic_control import rendering
            self.viewer = rendering.SimpleImageViewer()

        self.viewer.imshow((self.state.repeat(RENDER_UPSCALE, axis=0).repeat(RENDER_UPSCALE, axis=1)*255).astype(np.uint8))
Example #8
0
    def render(self, mode="human"):
        if turn_off_rendering:
            return
        try:
            img = self.game.get_state().screen_buffer
            img = np.transpose(img, [1, 2, 0])

            if self.viewer is None:
                self.viewer = rendering.SimpleImageViewer()
            self.viewer.imshow(img)
        except AttributeError:
            pass
Example #9
0
    def render(self, mode='human'):
        enabled = True
        if enabled and mode == 'human':
            if self.viewer is None:
                self.viewer = rendering.SimpleImageViewer()

            player_index_to_view = 0
            state = self.game_state.get_board(player_index_to_view)
            state[state > 1] = self.SNAKE_BODY
            obs = SnakesBackendSync.convert_observation_to_img(state)

            self.viewer.imshow(obs)
Example #10
0
 def _render(self, mode='human', close=False):
     if close:
         return
     if mode == 'human' and self.show_warped:
         from gym.envs.classic_control import rendering
         if self.viewer is None:
             self.viewer = rendering.SimpleImageViewer()
         img = self._observation(self.env._render('rgb_array', close)) * np.ones([1, 1, 3], dtype=np.uint8)
         self.viewer.imshow(img)
         return img
     else:
         return self.env._render(mode, close)
Example #11
0
    def init_gym_env(self):
        """Initialize the environment instance that the current class is wrapping."""
        from dm_control import suite

        env = suite.load(
            domain_name=self.domain_name,
            task_name=self.task_name,
            visualize_reward=self._visualize_reward,
        )
        self.viewer = []
        self._viewer = None if novideo_mode else rendering.SimpleImageViewer()
        return env
Example #12
0
def main(game_name, model_name):
    parser = argparse.ArgumentParser(description="Auto Trainer")
    parser.add_argument('--gpu', '-g', type=int, default=-1)
    args = parser.parse_args()

    print('Using gpu: {}'.format(args.gpu))

    env = gym.make(game_name)
    agent = PredictorAgent(SAVE_DIR, env, name=model_name, gpu=args.gpu)
    prediction_view = rendering.SimpleImageViewer()
    error_view = rendering.SimpleImageViewer()

    last_save_time = agent.save()
    reset = True

    for i in range(ROUNDS):
        if reset:
            reset_obs = cupy.array(process_image(env.reset()).data,
                                   dtype="float32")
            agent.initialize_state(reset_obs)
            action = agent(reset_obs, reward=0)
            if action >= env.action_space.n:
                action = 0  # no-op
            env.render()
        raw_obs, reward, reset, _data = env.step(action)
        if reward:
            print('Non-zero reward:', reward)
        obs = cupy.array(process_image(raw_obs).data, dtype="float32")
        action = agent(obs, reward)
        if action >= env.action_space.n:
            action = 0  # no-op

        # Render things prediction
        env.render()
        prediction_view.imshow(to_image_format(agent.predicted_image.data))
        error_view.imshow(to_err_mask_image(agent.error_mask.data))

        if time.time() - last_save_time > SAVE_INTERVAL_SECONDS:
            last_save_time = agent.save()
            print('Saved the', agent.name, 'agent')
Example #13
0
 def render(self, mode='human'):
     try:
         img = self.game.get_state().screen_buffer
         img = np.transpose(img, [1, 2, 0])
         if mode == 'rgb_array':
             return img
         elif mode == 'human':
             from gym.envs.classic_control import rendering
             if self.viewer is None:
                 self.viewer = rendering.SimpleImageViewer()
             self.viewer.imshow(img)
     except AttributeError:
         pass
Example #14
0
  def render(self, mode: Text = 'rgb_array') -> Union[np.ndarray, bool]:
    if self._last_observation is None:
      raise ValueError('Environment not ready to render. Call reset() first.')

    if mode == 'rgb_array':
      return self._last_observation

    if mode == 'human':
      if self.viewer is None:
        from gym.envs.classic_control import rendering  # pylint: disable=g-import-not-at-top
        self.viewer = rendering.SimpleImageViewer()
      self.viewer.imshow(self._last_observation)
      return self.viewer.isopen
Example #15
0
    def render(self, state, close):
        if close:
            if self.viewer is not None:
                self.viewer.close()
                self.viewer = None
            return
        img = self.rgb.get_image(state)

        from gym.envs.classic_control import rendering
        if self.viewer is None:
            self.viewer = rendering.SimpleImageViewer()
        self.viewer.imshow(img)
        return self.viewer.isopen
Example #16
0
 def _render(self, mode='human', close=False):
     if close:
         if self.viewer is not None:
             self.viewer.close()
             self.viewer = None
         return
     if mode == 'rgb_array':
         return self.screen
     elif mode == 'human':
         from gym.envs.classic_control import rendering
         if self.viewer is None:
             self.viewer = rendering.SimpleImageViewer()
         self.viewer.imshow(self.screen)
Example #17
0
    def render(self, mode="human"):
        canvas = self._get_canvas()
        if mode == "rgb_array":
            return canvas
        elif mode == "human":
            from gym.envs.classic_control import rendering

            if self.viewer is None:
                self.viewer = rendering.SimpleImageViewer()
            self.viewer.imshow(canvas)
            return self.viewer.isopen
        else:
            super(FluidPaint, self).render(mode=mode)  # just raise an exception
Example #18
0
 def __init__(self):
     self.env = gym.make(env_name)
     self.viewer = rendering.SimpleImageViewer()
     self.render = render
     self.episode = 1
     self.total_reward = 0
     self.clear()
     self.EPS = eps_start
     if create_video:
         self.env = wrappers.Monitor(self.env, dir_, force=True)
     print('observations shape:', observation_shape)
     #print('action details', action_details)
     print('no of actions:', no_of_actions)
Example #19
0
def random_agent(num_envs=1, max_steps=100000):
    setup_utils.setup_and_load(use_cmd_line_args=True)
    print(Config.IS_HIGH_RES)
    env = make('standard', num_envs=num_envs)
    env.render()
    viewer = rendering.SimpleImageViewer()
    for step in range(max_steps):
        acts = np.array(
            [env.action_space.sample() for _ in range(env.num_envs)])
        _obs, rews, _dones, _infos = env.step(acts)
        print("step", step, "rews", rews)
        env.render()
    env.close()
Example #20
0
    def render(self, mode='human', close=None):
        img = room_to_rgb(self.room_state, self.room_fixed)

        if mode == 'rgb_array':
            return img
        elif mode is 'human':
            from gym.envs.classic_control import rendering
            if self.viewer is None:
                self.viewer = rendering.SimpleImageViewer()
            self.viewer.imshow(img)
            return self.viewer.isopen
        else:
            super(SokobanEnv, self).render(mode=mode)  # just raise an exception
Example #21
0
    def render(self, mode='human'):
        if mode == 'rgb_array':
            return self.last_obs

        elif mode == 'human':
            from gym.envs.classic_control import rendering
            if self.viewer is None:
                self.viewer = rendering.SimpleImageViewer()
            self.viewer.imshow(self.last_obs)
            return self.viewer.isopen

        else:
            assert 0, "Render mode '%s' is not supported" % mode
Example #22
0
 def _render(self, mode='human', close=False):        
     if close:
         if self.viewer is not None:
             self.viewer.close()
         return
     img = self._get_image()
     if mode == 'rgb_array':
         return img
     elif mode is 'human':
         from gym.envs.classic_control import rendering
         if self.viewer is None:
             self.viewer = rendering.SimpleImageViewer()
         self.viewer.imshow(img)
Example #23
0
 def render(self, mode='human', close=False):
     img = self._obs
     if mode == 'rgb_array':
         return img
     elif mode == 'human':
         from gym.envs.classic_control import rendering
         if self.viewer is None:
             self.viewer = rendering.SimpleImageViewer()
         img = self._repeat_upsample(img, 64, 64)
         self.viewer.imshow(img)
         if close:
             self.viewer.close()
         return self.viewer.isopen
Example #24
0
	def _render(self, mode='gui', close=False):

		if self.mode == "gui":
			img = imread(os.path.join(os.path.dirname(os.path.realpath(__file__)),'sumo.png'), 1)
			if mode == 'rgb_array':
				return img
			elif mode == 'human':
				from gym.envs.classic_control import rendering
				if self.viewer is None:
					self.viewer = rendering.SimpleImageViewer()
				self.viewer.imshow(img)
		else:
			raise NotImplementedError("Only rendering in GUI mode is supported")
Example #25
0
    def render(self,
               mode='human',
               close=False,
               record_pngs_dir=None,
               record_json_dir=None):
        from PIL import Image

        if close:
            self.close()
            return

        human_factor = utility.HUMAN_FACTOR
        frames = self._render_frames()
        if mode == 'rgb_array':
            return frames[0]

        all_img = resize(
            frames[0],
            (self._board_size * human_factor, self._board_size * human_factor),
            interp='nearest')
        other_imgs = [
            resize(frame, (int(self._board_size * human_factor / 4),
                           int(self._board_size * human_factor / 4)),
                   interp='nearest') for frame in frames[1:]
        ]

        other_imgs = np.concatenate(other_imgs, 0)
        img = np.concatenate([all_img, other_imgs], 1)

        if self._viewer is None:
            from gym.envs.classic_control import rendering
            self._viewer = rendering.SimpleImageViewer()
        self._viewer.imshow(img)

        if record_pngs_dir:
            Image.fromarray(img).save(
                os.path.join(record_pngs_dir, '%d.png' % self._step_count))
        if record_json_dir:
            info = self.get_json_info()
            with open(
                    os.path.join(record_json_dir,
                                 '%d.json' % self._step_count), 'w') as f:
                f.write(json.dumps(info, sort_keys=True, indent=4))

        for agent in self._agents:
            if agent.has_key_input():
                self._viewer.window.on_key_press = agent.on_key_press
                self._viewer.window.on_key_release = agent.on_key_release
                break

        time.sleep(1.0 / self._render_fps)
Example #26
0
    def render(self, mode='human', close=False):
        if close:
            if self.viewer is not None:
                self.viewer.close()
                self.viewer = None
            return

        # We only import this here in case we're running on a headless server
        from gym.envs.classic_control import rendering
        assert mode == 'human', "Button only supports human render mode"
        img = self._get_ob()
        if self.viewer is None:
            self.viewer = rendering.SimpleImageViewer()
        self.viewer.imshow(img)
Example #27
0
 def render(self, mode='human'):
     tile_size=16
     img = self._prob.render(get_string_map(self._rep._map, self._prob.get_tile_types()))
     img = self._rep.render(img, self._prob._tile_size, self._prob._border_size).convert("RGB")
     if mode == 'rgb_array':
         return img
     elif mode == 'human':
         from gym.envs.classic_control import rendering
         if self.viewer is None:
             self.viewer = rendering.SimpleImageViewer()
         if not hasattr(img, 'shape'):
             img = np.array(img)
         self.viewer.imshow(img)
         return self.viewer.isopen
Example #28
0
    def render(self, mode='human'):
        img = copy.copy(self._base_img)
        for agent_i in range(self.n_agents):
            for neighbour in self.__get_neighbour_coordinates(
                    self.agent_pos[agent_i]):
                fill_cell(img,
                          neighbour,
                          cell_size=CELL_SIZE,
                          fill=AGENT_NEIGHBORHOOD_COLOR,
                          margin=0.1)
            fill_cell(img,
                      self.agent_pos[agent_i],
                      cell_size=CELL_SIZE,
                      fill=AGENT_NEIGHBORHOOD_COLOR,
                      margin=0.1)

        for agent_i in range(self.n_agents):
            draw_circle(img,
                        self.agent_pos[agent_i],
                        cell_size=CELL_SIZE,
                        fill=AGENT_COLOR)
            write_cell_text(img,
                            text=str(agent_i + 1),
                            pos=self.agent_pos[agent_i],
                            cell_size=CELL_SIZE,
                            fill='white',
                            margin=0.4)

        for prey_i in range(self.n_preys):
            if self._prey_alive[prey_i]:
                draw_circle(img,
                            self.prey_pos[prey_i],
                            cell_size=CELL_SIZE,
                            fill=PREY_COLOR)
                write_cell_text(img,
                                text=str(prey_i + 1),
                                pos=self.prey_pos[prey_i],
                                cell_size=CELL_SIZE,
                                fill='white',
                                margin=0.4)

        img = np.asarray(img)
        if mode == 'rgb_array':
            return img
        elif mode == 'human':
            from gym.envs.classic_control import rendering
            if self.viewer is None:
                self.viewer = rendering.SimpleImageViewer()
            self.viewer.imshow(img)
            return self.viewer.isopen
Example #29
0
    def __init__(self):

        from gym.envs.classic_control import rendering

        self.viewer = rendering.SimpleImageViewer()

        self._action_set = {0, 1}  # go up, go down
        self.action_space = spaces.Discrete(len(self._action_set))

        # init obstacle
        self.obstacle = Obstacle()

        # init robot
        self.robby = Robot()
Example #30
0
 def _render(self, mode='human', close=False):
     if close:
         if hasattr(self, 'viewer') and self.viewer is not None:
             self.viewer.close()
             self.viewer = None
         return
     img = self.pixel_array
     if mode == 'rgb_array':
         return img
     elif mode == 'human':
         if not hasattr(self, 'viewer') or self.viewer is None:
             from gym.envs.classic_control import rendering
             self.viewer = rendering.SimpleImageViewer()
         self.viewer.imshow(img)