                  self.device_count = 0
  
      def get_handles(self):
          """ Return all listed Nvidia handles """
          if is_macos:
              self.handles = pynvx.cudaDeviceGetHandles(ignore=True)
          else:
              self.handles = [pynvml.nvmlDeviceGetHandleByIndex(i)
                              for i in range(self.device_count)]
  
 
</s> remove     @staticmethod
    def get_driver():
 </s> add     def get_driver(self): </s> remove         if is_macos:
 </s> add         if IS_MACOS: </s> remove             if not is_macos:
 </s> add             if not IS_MACOS:
        if IS_MACOS:
                  self.device_count = 0
  
      def get_handles(self):
          """ Return all listed Nvidia handles """
        if IS_MACOS:
              self.handles = pynvx.cudaDeviceGetHandles(ignore=True)
          else:
              self.handles = [pynvml.nvmlDeviceGetHandleByIndex(i)
                              for i in range(self.device_count)]
  
keep keep keep keep replace keep keep keep keep keep
 Logging (#541)

* Convert prints to logger. Further logging improvements. Tidy  up

* Fix system verbosity. Allow SystemExit

* Fix reload extract bug

* Child Traceback handling

* Safer shutdown procedure

* Add shutdown event to queue manager

* landmarks_as_xy > property. GUI notes + linting. Aligner bugfix

* fix FaceFilter. Enable nFilter when no Filter is supplied

* Fix blurry face filter

* Continue on IO error. Better error handling

* Explicitly print stack trace tocrash log

* Windows Multiprocessing bugfix

* Add git info and conda version to crash log

* Windows/Anaconda mp bugfix

* Logging fixes for training 
lib/gpu_stats.py