class_docstr: A sampler worker for Task Embedding Algorithm.
  
  In addition to DefaultWorker, this worker adds one-hot task id to env_info,
  and adds latent and latent infos to agent_info.
  
  Args:
      seed (int): The seed to use to intialize random number generators.
      max_episode_length (int or float): The maximum length of episodes to
          sample. Can be (floating point) infinity.
      worker_number(int): The number of the worker where this update is
          occurring. This argument is used to set a different seed for each
          worker.
  
  Attributes:
      agent (Policy or None): The worker's agent.
      env (Environment or None): The worker's environment.
docstr: Take a single time-step in the current episode.
  
  Returns:
      bool: True iff the episode is done, either due to the environment
          indicating termination of due to reaching `max_episode_length`.
docstr_tok: ["Take","a","single","time-step","in","the","current","episode",".","Returns",":","bool",":","True","iff","the","episode","is","done",",","either","due","to","the","environment","indicating","termination","of","due","to","reaching","`","max_episode_length","`","."]
code: def step_episode(self):
      """Take a single time-step in the current episode.
  
      Returns:
          bool: True iff the episode is done, either due to the environment
              indicating termination of due to reaching `max_episode_length`.
  
      """
      if self._eps_length < self._max_episode_length:
          a, agent_info = self.agent.get_action_given_latent(
              self._prev_obs, self._z
          )
          es = self.env.step(a)
          self._observations.append(self._prev_obs)
          self._env_steps.append(es)
          self._tasks.append(self._t)
          self._latents.append(self._z)
          for k, v in self._latent_info.items():
              self._latent_infos[k].append(v)
          for k, v in agent_info.items():
              self._agent_infos[k].append(v)
          self._eps_length += 1
  
          if not es.last:
              self._prev_obs = es.observation
              return False
  
      self._lengths.append(self._eps_length)
      self._last_observations.append(self._prev_obs)
  
      return True
  
file_path: garage/src/garage/tf/algos/te.py
imports: from collections import defaultdict
  import numpy
  from garage import EpisodeBatch, StepType
  from garage.sampler import DefaultWorker
label_desc: Use image node_id 3 for calling the TaskEmbeddingWorker obj's underlying member method code with example usage: obj.step_episode() and returns: True, False