Browse Source

old rendering API

Rodrigo Perez-Vicente 2 years ago
parent
commit
6a8d6326a2

+ 1 - 1
gym_minigrid/benchmark.py

@@ -18,7 +18,7 @@ parser.add_argument("--num_resets", default=200)
 parser.add_argument("--num_frames", default=5000)
 args = parser.parse_args()
 
-env = gym.make(args.env_name, render_mode="rgb_array")
+env = gym.make(args.env_name)
 
 # Benchmark env.reset
 t0 = time.time()

+ 1 - 1
gym_minigrid/manual_control.py

@@ -93,7 +93,7 @@ parser.add_argument(
 
 args = parser.parse_args()
 
-env = gym.make(args.env, render_mode="rgb_array")
+env = gym.make(args.env)
 
 if args.agent_view:
     env = RGBImgPartialObsWrapper(env)

+ 1 - 26
gym_minigrid/minigrid.py

@@ -2,14 +2,12 @@ import hashlib
 import math
 from abc import abstractmethod
 from enum import IntEnum
-from functools import partial
 from typing import Any, Callable, Optional, Union
 
 import gym
 import numpy as np
 from gym import spaces
 from gym.utils import seeding
-from gym.utils.renderer import Renderer
 
 # Size in pixels of a tile in the full-scale human view
 from gym_minigrid.rendering import (
@@ -861,7 +859,6 @@ class MiniGridEnv(gym.Env):
         max_steps: int = 100,
         see_through_walls: bool = False,
         agent_view_size: int = 7,
-        render_mode: str = None,
         highlight: bool = True,
         tile_size: int = TILE_PIXELS,
         **kwargs,
@@ -903,15 +900,6 @@ class MiniGridEnv(gym.Env):
             }
         )
 
-        # render mode
-        self.render_mode = render_mode
-        render_frame = partial(
-            self._render,
-            highlight=highlight,
-            tile_size=tile_size,
-        )
-        self.renderer = Renderer(self.render_mode, render_frame)
-
         # Range of possible rewards
         self.reward_range = (0, 1)
 
@@ -956,8 +944,6 @@ class MiniGridEnv(gym.Env):
         # Return first observation
         obs = self.gen_obs()
 
-        self.renderer.reset()
-        self.renderer.render_step()
         if not return_info:
             return obs
         else:
@@ -1372,7 +1358,6 @@ class MiniGridEnv(gym.Env):
 
         obs = self.gen_obs()
 
-        self.renderer.render_step()
         return obs, reward, done, {}
 
     def gen_obs_grid(self, agent_view_size=None):
@@ -1451,7 +1436,7 @@ class MiniGridEnv(gym.Env):
 
         return img
 
-    def _render(self, mode="human", highlight=True, tile_size=TILE_PIXELS):
+    def render(self, mode="human", highlight=True, tile_size=TILE_PIXELS):
         assert mode in self.metadata["render_modes"]
         """
         Render the whole-grid human view
@@ -1508,16 +1493,6 @@ class MiniGridEnv(gym.Env):
         else:
             return img
 
-    def render(self, mode="human", close=False, highlight=True, tile_size=TILE_PIXELS):
-        if close:
-            raise Exception(
-                "Please close the rendering window using env.close(). Closing the rendering window with the render method is no longer allowed."
-            )
-        if self.render_mode is not None:
-            return self.renderer.get_renders()
-        else:
-            return self._render(mode, highlight=highlight, tile_size=tile_size)
-
     def close(self):
         if self.window:
             self.window.close()

+ 1 - 3
gym_minigrid/wrappers.py

@@ -181,9 +181,7 @@ class RGBImgObsWrapper(ObservationWrapper):
     def observation(self, obs):
         env = self.unwrapped
 
-        rgb_img = env._render(
-            mode="rgb_array", highlight=True, tile_size=self.tile_size
-        )
+        rgb_img = env.render(mode="rgb_array", highlight=True, tile_size=self.tile_size)
 
         return {**obs, "image": rgb_img}
 

+ 3 - 3
tests/test_envs.py

@@ -101,11 +101,11 @@ def test_render_modes(spec):
 
     for mode in env.metadata.get("render_modes", []):
         if mode != "human":
-            new_env = spec.make(render_mode=mode)
+            new_env = spec.make()
 
             new_env.reset()
             new_env.step(new_env.action_space.sample())
-            new_env.render()
+            new_env.render(mode=mode)
 
 
 @pytest.mark.parametrize("env_id", ["MiniGrid-DoorKey-6x6-v0"])
@@ -192,7 +192,7 @@ def old_run_test(env_spec):
 
 @pytest.mark.parametrize("env_id", ["MiniGrid-Empty-8x8-v0"])
 def test_interactive_mode(env_id):
-    env = gym.make(env_id, render_mode="human")
+    env = gym.make(env_id)
     env.reset()
 
     for i in range(0, 100):