docstr: Sample initial states by taking random number of no-ops on reset.
  No-op is assumed to be action 0.
  
  :param env: (Gym Environment) the environment to wrap
  :param noop_max: (int) the maximum value of no-ops to run
docstr_tok: ["Sample","initial","states","by","taking","random","number","of","no-ops","on","reset",".","No-op","is","assumed","to","be","action","0.",":","param","env",":","(","Gym","Environment",")","the","environment","to","wrap",":","param","noop_max",":","(","int",")","the","maximum","value","of","no-ops","to","run"]
code: def __init__(self, env, noop_max=30):
      """
      Sample initial states by taking random number of no-ops on reset.
      No-op is assumed to be action 0.
  
      :param env: (Gym Environment) the environment to wrap
      :param noop_max: (int) the maximum value of no-ops to run
      """
      gym.Wrapper.__init__(self, env)
      self.noop_max = noop_max
      self.override_num_noops = None
      self.noop_action = 0
      assert env.unwrapped.get_action_meanings()[0] == "NOOP"
  
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 NoopResetEnv object from inherited base classes: gym with example: obj = NoopResetEnv(env, noop_max)