code: def __init__(self):
      self.data = {}
      self.cache = {}
      self.nvml = None
      self.n_gpu = 0
  
      try:
          from py3nvml import py3nvml as nvml
  
          self.nvml = nvml
      except ImportError:
          labml_notice(
              "Install py3nvml to monitor GPUs:\n pip install py3nvml",
              is_warn=False,
          )
  
      if self.nvml:
          try:
              self.nvml.nvmlInit()
              self.nvml.nvmlShutdown()
          except self.nvml.NVMLError:
              logger.log("NVML Library not found", Text.warning)
              self.nvml = None
  
      self.process_monitor = ProcessMonitor(self.nvml)
  
imports: import time
  from pathlib import Path
  import psutil
  from labml import logger
  from labml.internal.computer.monitor.process import ProcessMonitor
  from labml.logger import Text
  from labml.utils.notice import labml_notice
label_desc: Use image node_id 1 to create a new Scanner object  with example: obj = Scanner()