          vram = [pynvml.nvmlDeviceGetMemoryInfo(handle).free / (1024 * 1024)
                  for handle in self._handles]
          self._log("debug", f"GPU VRAM free: {vram}")
          return vram
 
</s> remove         self._gpu = GPUStats(log=False).sys_info
 </s> add         self._gpu = self._get_gpu_info() </s> remove Unit tests for lib.utils
 </s> add Unit tests for :class:`~lib.utils` module </s> remove from ._base import set_exclude_devices
 </s> add from ._base import set_exclude_devices, GPUInfo
        if not is_initialized:
            self._shutdown()

          vram = [pynvml.nvmlDeviceGetMemoryInfo(handle).free / (1024 * 1024)
                  for handle in self._handles]
        if not is_initialized:
            self._shutdown()

          self._log("debug", f"GPU VRAM free: {vram}")
          return vram
keep add keep keep
 bugfix: sysinfo
  - Fix getting free Vram on Nvidia
  - Don't halt sysinfo on GPU stats error
  - lib.sysinfo unit test 
lib/gpu_stats/nvidia.py