docstr: Make end-of-life == end-of-episode, but only reset on true game over.
  Done by DeepMind for the DQN and co. since it helps value estimation.
  
  :param env: (Gym Environment) the environment to wrap
docstr_tok: ["Make","end-of-life","==","end-of-episode",",","but","only","reset","on","true","game","over",".","Done","by","DeepMind","for","the","DQN","and","co.","since","it","helps","value","estimation",".",":","param","env",":","(","Gym","Environment",")","the","environment","to","wrap"]
code: def __init__(self, env):
      """
      Make end-of-life == end-of-episode, but only reset on true game over.
      Done by DeepMind for the DQN and co. since it helps value estimation.
  
      :param env: (Gym Environment) the environment to wrap
      """
      gym.Wrapper.__init__(self, env)
      self.lives = 0
      self.was_real_done = True
  
imports: from collections import deque
  import numpy
  import gym
  from gym import spaces
  import cv2
label_desc: Use image node_id 1 to create a new EpisodicLifeEnv object from inherited base classes: gym with example: obj = EpisodicLifeEnv(env)