Implement close

This commit is contained in:
kngwyu 2020-09-17 01:57:00 +09:00
parent 8f630b58c2
commit fe06ba7c5b
3 changed files with 11 additions and 1 deletions

View File

@ -17,6 +17,13 @@ class AgentModel(ABC, MujocoEnv, EzPickle):
MujocoEnv.__init__(self, file_path, frame_skip)
EzPickle.__init__(self)
def close(self):
if self.viewer is not None and hasattr(self.viewer, "window"):
import glfw
glfw.destroy_window(self.viewer.window)
super().close()
@abstractmethod
def _get_obs(self) -> np.ndarray:
"""Returns the observation from the model.

View File

@ -453,3 +453,6 @@ class MazeEnv(gym.Env):
done = self._task.termination(next_obs)
info["position"] = self.wrapped_env.get_xy()
return next_obs, inner_reward + outer_reward, done, info
def close(self):
self.wrapped_env.close()

View File

@ -24,7 +24,7 @@ def test_point_maze(maze_id):
@pytest.mark.parametrize("v", [0, 1])
def test_maze_args(v):
env = gym.make(f"PointTRoom-v{v}", task_kwargs={"goals": [(-2.0, 4.0)]})
env = gym.make(f"PointTRoom-v{v}", task_kwargs={"goals": [(-2.0, -4.0)]})
assert env.reset().shape == (7,)
s, _, _, _ = env.step(env.action_space.sample())
assert s.shape == (7,)