docstr: Do no-op action for a number of steps in [1, noop_max].
docstr_tok: ["Do","no-op","action","for","a","number","of","steps","in","[","1",",","noop_max","]","."]
code: def reset(self, **kwargs):
      """Do no-op action for a number of steps in [1, noop_max]."""
      self.env.reset(**kwargs)
      if self.override_num_noops is not None:
          noops = self.override_num_noops
      else:
          if is_gym_version_ge(V_NPRANDOM_CHANGED):
              noops = self.unwrapped.np_random.integers(
                  1, self.noop_max + 1
              )
          else:
              noops = self.unwrapped.np_random.randint(
                  1, self.noop_max + 1
              )
      assert noops > 0
      obs = None
      for _ in range(noops):
          obs, _, done, _ = self.env.step(self.noop_action)
          if done:
              obs = self.env.reset(**kwargs)
      return obs
  
imports: import time
  import numpy
  from collections import deque
  import gym
  from gym import spaces
  from parl.env.compat_wrappers import CompatWrapper, is_gym_version_ge, V_NPRANDOM_CHANGED
  import cv2
label_desc: Use image node_id 2 for calling the NoopResetEnv obj's underlying member method code with example usage: obj.reset() and returns: obs