docs: def get_num_procs():
      """ Gets the number of processes running on each gpu
  
      Returns
      -------
      num_procs : list(int)
          Number of processes running on each gpu
  
      Note
      ----
      If function can't query the driver will return an empty list rather than raise an
      Exception.
  
      Note
      ----
      If function can't get the info from the gpu will return -1 in that gpu's place
      """
      # Try connect with NVIDIA drivers
      logger = logging.getLogger(__name__)
      try:
          py3nvml.nvmlInit()
      except:
          str_ = """Couldn't connect to nvml drivers. Check they are installed correctly."""
          warnings.warn(str_, RuntimeWarning)
          logger.warn(str_)
          return []
  
      num_gpus = py3nvml.nvmlDeviceGetCount()
      gpu_procs = [-1]*num_gpus
      for i in range(num_gpus):
          try:
              h = py3nvml.nvmlDeviceGetHandleByIndex(i)
          except:
              continue
          procs = try_get_info(py3nvml.nvmlDeviceGetComputeRunningProcesses, h,
                               ['something'])
          gpu_procs[i] = len(procs)
  
      py3nvml.nvmlShutdown()
      return gpu_procs