class_docstr: A monitor wrapper for Gym environments, it is used to know the episode reward, length, time and other data.
  
  :param env: (gym.Env) The environment
  :param filename: (Optional[str]) the location to save a log file, can be None for no log
  :param allow_early_resets: (bool) allows the reset of the environment before it is done
  :param reset_keywords: (tuple) extra keywords for the reset call, if extra parameters are needed at reset
  :param info_keywords: (tuple) extra information to log, from the information return of environment.step
docstr: Calls the Gym environment reset. Can only be called if the environment is over, or if allow_early_resets is True
  
  :param kwargs: Extra keywords saved for the next episode. only if defined by reset_keywords
  :return: (np.ndarray) the first observation of the environment
docstr_tok: ["Calls","the","Gym","environment","reset",".","Can","only","be","called","if","the","environment","is","over",",","or","if","allow_early_resets","is","True",":","param","kwargs",":","Extra","keywords","saved","for","the","next","episode",".","only","if","defined","by","reset_keywords",":","return",":","(","np.ndarray",")","the","first","observation","of","the","environment"]
code: def reset(self, **kwargs) -> np.ndarray:
      """
      Calls the Gym environment reset. Can only be called if the environment is over, or if allow_early_resets is True
  
      :param kwargs: Extra keywords saved for the next episode. only if defined by reset_keywords
      :return: (np.ndarray) the first observation of the environment
      """
      if not self.allow_early_resets and not self.needs_reset:
          raise RuntimeError(
              "Tried to reset an environment before done. If you want to allow early resets, "
              "wrap your env with Monitor(env, path, allow_early_resets=True)"
          )
      self.rewards = []
      self.needs_reset = False
      for key in self.reset_keywords:
          value = kwargs.get(key)
          if value is None:
              raise ValueError(
                  "Expected you to pass kwarg {} into reset".format(key)
              )
          self.current_reset_info[key] = value
      return self.env.reset(**kwargs)
  
imports: import csv
  import json
  import os
  import time
  from glob import glob
  from typing import Tuple, Dict, Any, List, Optional
  import gym
  import pandas
  import numpy
label_desc: Use image node_id 2 for calling the Monitor obj's underlying member method code with example usage: obj.reset() and returns: self