class_docstr: Runner for evaluating using a fixed number of episodes rather than steps.
  
  Also restricts data collection to a strict cap,
  following conventions in data-efficient RL research.
class_docstr_tok: ["Runner","for","evaluating","using","a","fixed","number","of","episodes","rather","than","steps",".","Also","restricts","data","collection","to","a","strict","cap",",","following","conventions","in","data-efficient","RL","research","."]
docstr: Initialization for a new episode.
  
  Args:
    envs: Environments to initialize episodes for.
  
  Returns:
    action: int, the initial action chosen by the agent.
docstr_tok: ["Initialization","for","a","new","episode",".","Args",":","envs",":","Environments","to","initialize","episodes","for",".","Returns",":","action",":","int",",","the","initial","action","chosen","by","the","agent","."]
code: def _initialize_episode(self, envs):
      """Initialization for a new episode.
  
      Args:
        envs: Environments to initialize episodes for.
  
      Returns:
        action: int, the initial action chosen by the agent.
      """
      observations = []
      for env in envs:
          initial_observation = env.reset()
          if self.max_noops > 0:
              self._agent._rng, rng = jax.random.split(
                  self._agent._rng  # pylint: disable=protected-access
              )
              num_noops = jax.random.randint(rng, (), 0, self.max_noops)
              for _ in range(num_noops):
                  initial_observation, _, terminal, _ = env.step(0)
                  if terminal:
                      initial_observation = env.reset()
          observations.append(initial_observation)
      initial_observation = np.stack(observations, 0)
  
      return initial_observation
  
imports: import functools
  import os
  import sys
  import time
  from absl import logging
  from dopamine.discrete_domains import atari_lib
  from dopamine.discrete_domains import iteration_statistics
  from dopamine.discrete_domains import run_experiment
  from dopamine.labs.atari_100k import normalization_utils
  from dopamine.metrics import collector_dispatcher
  from dopamine.metrics import statistics_instance
  import gin
  import jax
  import numpy
  import tensorflow
label_desc: Use image node_id 3 for calling the DataEfficientAtariRunner obj's underlying member method code with example usage: obj._initialize_episode(envs) and returns: initial_observation