def __init__( self, env: Env, directory: str, env_index: int = 0, ob_key: Optional[str] = None, info_key: Optional[str] = None, prefix: str = "", fps: int = 15, writer_kwargs: Optional[Mapping[str, Any]] = None, render=False, ) -> None: super().__init__(env=env) if info_key is not None: assert ob_key is None, "can't specify both info_key and ob_key" self._prefix = prefix self._directory = os.path.abspath(directory) os.makedirs(self._directory, exist_ok=True) self._ob_key = ob_key self._info_key = info_key self._env_index = env_index self._episode_count = 0 self._writer = None if writer_kwargs is None: writer_kwargs = {"output_params": ["-f", "mp4"]} self._writer_kwargs = writer_kwargs self._fps = fps self.videopath = None self._first_step = True self._renderer = Renderer(width=768, height=768) if render else None
def __init__( self, env: Env, env_index: int = 0, ob_key: Optional[str] = None, info_key: Optional[str] = None, width: int = 768, height: int = 768, tps: int = 15, ) -> None: super().__init__(env=env) self._ob_key = ob_key self._info_key = info_key self._env_index = env_index self._sec_per_timestep = 1 / tps self._renderer = Renderer(width=width, height=height) self._last_frame_time = self._renderer.get_time() self._paused = False self._overlay_enabled = True self._fast_mode = False
def __init__( self, env: Env, keys_to_act: Optional[Callable[[Sequence[str]], Optional[np.ndarray]]] = None, synchronous: bool = False, ob_key: Optional[str] = None, info_key: Optional[str] = None, width: int = 768, height: int = 768, tps: int = 15, ) -> None: super().__init__() self._ob_key = ob_key self._info_key = info_key assert env.num == 1, "interactive only supports environments with num=1" self._env = env self._tps = tps self._sec_per_timestep = 1 / tps self._renderer = Renderer(width=width, height=height) if keys_to_act is None: keys_to_act = lambda keys: env.callmethod("keys_to_act", [keys])[0] self._keys_to_act = keys_to_act self._synchronous = synchronous self._display_info_seconds_remaining = 0 self._steps = 0 self._episode_steps = 0 self._episode_return = 0 self._prev_episode_return = 0 self._last_ob = None self._last_ac = None self._last_info = {} self._last_rew = None self._overlay_enabled = True self._current_time = 0 self._sim_time = 0 self._max_sim_frames_per_update = 4