code: def _reset(
      self,
      network_pkl=None,
      run_dir=None,
      data_dir=None,
      dataset_args=None,
      mirror_augment=None,
  ):
      if self._dataset_obj is not None:
          self._dataset_obj.close()
  
      self._network_pkl = network_pkl
      self._data_dir = data_dir
      self._dataset_args = dataset_args
      self._dataset_obj = None
      self._mirror_augment = mirror_augment
      self._eval_time = 0
      self._results = []
  
      if (
          dataset_args is None or mirror_augment is None
      ) and run_dir is not None:
          run_config = misc.parse_config_for_previous_run(run_dir)
          self._dataset_args = dict(run_config["dataset"])
          self._dataset_args["shuffle_mb"] = 0
          self._mirror_augment = run_config["train"].get(
              "mirror_augment", False
          )
  
imports: import os
  import time
  import hashlib
  import numpy
  import tensorflow
  import dnnlib
  import dnnlib.tflib
  from training import misc
  from training import dataset
label_desc: Use image node_id 3 for calling the MetricBase obj's underlying member method code with example usage: obj._reset(network_pkl, run_dir, data_dir, dataset_args, mirror_augment) without return types