class_docstr: Abstract base class for Python RL environments.
  
  Observations and valid actions are described with `ArraySpec`s, defined in
  the `specs` module.
  
  If the environment can run multiple steps at the same time and take a batched
  set of actions and return a batched set of observations, it should overwrite
  the property batched to True.
  
  Environments are assumed to auto reset once they reach the end of the episode,
  if prefer that the base class handle auto_reset set `handle_auto_reset=True`.
class_docstr_tok: ["Abstract","base","class","for","Python","RL","environments",".","Observations","and","valid","actions","are","described","with","`","ArraySpec","`","s",",","defined","in","the","`","specs","`","module",".","If","the","environment","can","run","multiple","steps","at","the","same","time","and","take","a","batched","set","of","actions","and","return","a","batched","set","of","observations",",","it","should","overwrite","the","property","batched","to","True",".","Environments","are","assumed","to","auto","reset","once","they","reach","the","end","of","the","episode",",","if","prefer","that","the","base","class","handle","auto_reset","set","`","handle_auto_reset=True","`","."]
docstr: Starts a new sequence and returns the first `TimeStep` of this sequence.
  
  Note: Subclasses cannot override this directly. Subclasses implement
  _reset() which will be called by this method. The output of _reset() will
  be cached and made available through current_time_step().
  
  Returns:
    A `TimeStep` namedtuple containing:
      step_type: A `StepType` of `FIRST`.
      reward: 0.0, indicating the reward.
      discount: 1.0, indicating the discount.
      observation: A NumPy array, or a nested dict, list or tuple of arrays
        corresponding to `observation_spec()`.
docstr_tok: ["Starts","a","new","sequence","and","returns","the","first","`","TimeStep","`","of","this","sequence",".","Note",":","Subclasses","can","not","override","this","directly",".","Subclasses","implement","_reset","(",")","which","will","be","called","by","this","method",".","The","output","of","_reset","(",")","will","be","cached","and","made","available","through","current_time_step","(",")",".","Returns",":","A","`","TimeStep","`","namedtuple","containing",":","step_type",":","A","`","StepType","`","of","`","FIRST","`",".","reward",":","0.0",",","indicating","the","reward",".","discount",":","1.0",",","indicating","the","discount",".","observation",":","A","NumPy","array",",","or","a","nested","dict",",","list","or","tuple","of","arrays","corresponding","to","`","observation_spec","(",")","`","."]
code: def reset(self) -> ts.TimeStep:
      """Starts a new sequence and returns the first `TimeStep` of this sequence.
  
      Note: Subclasses cannot override this directly. Subclasses implement
      _reset() which will be called by this method. The output of _reset() will
      be cached and made available through current_time_step().
  
      Returns:
        A `TimeStep` namedtuple containing:
          step_type: A `StepType` of `FIRST`.
          reward: 0.0, indicating the reward.
          discount: 1.0, indicating the discount.
          observation: A NumPy array, or a nested dict, list or tuple of arrays
            corresponding to `observation_spec()`.
      """
      self._current_time_step = self._reset()
      return self._current_time_step
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  from typing import Any, Optional, Text
  import numpy
  import six
  from tf_agents.specs import array_spec
  from tf_agents.trajectories import time_step
  from tf_agents.typing import types
  from tf_agents.utils import common
label_desc: Use image node_id 11 for calling the PyEnvironment obj's underlying member method code with example usage: obj.reset() and returns: self