Exemplo n.º 1
0
 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
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
    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