class_docstr: Step a single env in a separate process for lock free paralellism.
class_docstr_tok: ["Step","a","single","env","in","a","separate","process","for","lock","free","paralellism","."]
docstr: Renders the environment.
  
  Args:
    mode: Rendering mode. Only 'rgb_array' is supported.
    blocking: Whether to wait for the result.
  
  Returns:
    An ndarray of shape [width, height, 3] denoting an RGB image when
    blocking. Otherwise, callable that returns the rendered image.
  Raises:
    NotImplementedError: If the environment does not support rendering,
      or any other modes than `rgb_array` is given.
docstr_tok: ["Renders","the","environment",".","Args",":","mode",":","Rendering","mode",".","Only","'rgb_array","'","is","supported",".","blocking",":","Whether","to","wait","for","the","result",".","Returns",":","An","ndarray","of","shape","[","width",",","height",",","3","]","denoting","an","RGB","image","when","blocking",".","Otherwise",",","callable","that","returns","the","rendered","image",".","Raises",":","NotImplementedError",":","If","the","environment","does","not","support","rendering",",","or","any","other","modes","than","`","rgb_array","`","is","given","."]
code: def render(
      self, mode: Text = "rgb_array", blocking: bool = True
  ) -> Union[types.NestedArray, Promise]:
      """Renders the environment.
  
      Args:
        mode: Rendering mode. Only 'rgb_array' is supported.
        blocking: Whether to wait for the result.
  
      Returns:
        An ndarray of shape [width, height, 3] denoting an RGB image when
        blocking. Otherwise, callable that returns the rendered image.
      Raises:
        NotImplementedError: If the environment does not support rendering,
          or any other modes than `rgb_array` is given.
      """
      if mode != "rgb_array":
          raise NotImplementedError(
              "Only rgb_array rendering mode is supported. Got %s"
              % mode
          )
      promise = self.call("render")
      if blocking:
          return promise()
      else:
          return promise
  
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 13 for calling the ProcessPyEnvironment obj's underlying member method code with example usage: obj.render(mode, blocking) and returns: promise, promise