Spaces:
Running on Zero
Running on Zero
File size: 753 Bytes
23a59ea | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import gymnasium as gym
class Timeout(gym.Wrapper):
"""
Wrapper for enforcing a time limit on the environment.
"""
def __init__(self, env, max_episode_steps):
super().__init__(env)
self._max_episode_steps = max_episode_steps
@property
def max_episode_steps(self):
return self._max_episode_steps
def reset(self, **kwargs):
self._t = 0
return self.env.reset(**kwargs)
def step(self, action):
obs, reward, terminated, truncated, info = self.env.step(action)
self._t += 1
truncated = truncated or self._t >= self.max_episode_steps
info['terminated'] = terminated
info['truncated'] = truncated
return obs, reward, terminated, truncated, info
def render(self, *args, **kwargs):
return self.env.render(*args, **kwargs)
|