class_docstr: Batch together environments and simulate them in external processes.
  
  The environments are created in external processes by calling the provided
  callables. This can be an environment class, or a function creating the
  environment and potentially wrapping it. The returned environment should not
  access global variables.
class_docstr_tok: ["Batch","together","environments","and","simulate","them","in","external","processes",".","The","environments","are","created","in","external","processes","by","calling","the","provided","callables",".","This","can","be","an","environment","class",",","or","a","function","creating","the","environment","and","potentially","wrapping","it",".","The","returned","environment","should","not","access","global","variables","."]
docstr: Renders the environment.
  
  Args:
    mode: Rendering mode. Currently only 'rgb_array' is supported because this
      is a batched environment.
  
  Returns:
    An ndarray of shape [batch_size, width, height, 3] denoting RGB images
    (for mode=`rgb_array`).
  Raises:
    NotImplementedError: If the environment does not support rendering,
      or any other mode than `rgb_array` is given.
docstr_tok: ["Renders","the","environment",".","Args",":","mode",":","Rendering","mode",".","Currently","only","'rgb_array","'","is","supported","because","this","is","a","batched","environment",".","Returns",":","An","ndarray","of","shape","[","batch_size",",","width",",","height",",","3","]","denoting","RGB","images","(","for","mode=","`","rgb_array","`",")",".","Raises",":","NotImplementedError",":","If","the","environment","does","not","support","rendering",",","or","any","other","mode","than","`","rgb_array","`","is","given","."]
code: def render(self, mode: Text = "rgb_array") -> types.NestedArray:
      """Renders the environment.
  
      Args:
        mode: Rendering mode. Currently only 'rgb_array' is supported because this
          is a batched environment.
  
      Returns:
        An ndarray of shape [batch_size, width, height, 3] denoting RGB images
        (for mode=`rgb_array`).
      Raises:
        NotImplementedError: If the environment does not support rendering,
          or any other mode than `rgb_array` is given.
      """
      if mode != "rgb_array":
          raise NotImplementedError(
              "Only rgb_array rendering mode is supported. Got %s"
              % mode
          )
      imgs = [
          env.render(mode, blocking=self._blocking)
          for env in self._envs
      ]
      if not self._blocking:
          imgs = [promise() for promise in imgs]
      return nest_utils.stack_nested_arrays(imgs)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import atexit
  import sys
  import traceback
  from typing import Any, Callable, Sequence, Text, Union
  from absl import logging
  import cloudpickle
  import gin
  import numpy
  import tensorflow
  from tf_agents.environments import py_environment
  from tf_agents.system import system_multiprocessing
  from tf_agents.trajectories import time_step
  from tf_agents.typing import types
  from tf_agents.utils import nest_utils
label_desc: Use image node_id 15 for calling the ParallelPyEnvironment obj's underlying member method code with example usage: obj.render(mode) and returns: nest_utils