docstr: Calls the Gym environment reset, only when lives are exhausted.
  This way all states are still reachable even though lives are episodic,
  and the learner need not know about any of this behind-the-scenes.
  
  :param kwargs: Extra keywords passed to env.reset() call
  :return: ([int] or [float]) the first observation of the environment
docstr_tok: ["Calls","the","Gym","environment","reset",",","only","when","lives","are","exhausted",".","This","way","all","states","are","still","reachable","even","though","lives","are","episodic",",","and","the","learner","need","not","know","about","any","of","this","behind-the-scenes",".",":","param","kwargs",":","Extra","keywords","passed","to","env.reset","(",")","call",":","return",":","(","[","int","]","or","[","float","]",")","the","first","observation","of","the","environment"]
code: def reset(self, **kwargs):
      """
      Calls the Gym environment reset, only when lives are exhausted.
      This way all states are still reachable even though lives are episodic,
      and the learner need not know about any of this behind-the-scenes.
  
      :param kwargs: Extra keywords passed to env.reset() call
      :return: ([int] or [float]) the first observation of the environment
      """
      if self.was_real_done:
          obs = self.env.reset(**kwargs)
      else:
          # no-op step to advance from terminal/lost life state
          obs, _, _, _ = self.env.step(0)
      self.lives = self.env.unwrapped.ale.lives()
      return obs
  
imports: from collections import deque
  import numpy
  import gym
  from gym import spaces
  import cv2
label_desc: Use image node_id 3 for calling the EpisodicLifeEnv obj's underlying member method code with example usage: obj.reset() and returns: obs