          if is_cuda:
              vram_free = self.get_vram_free()
          else:
              vram_free = 2048
              if self.verbose:
                  print("Using CPU. Limiting RAM useage to "
                        "{}MB".format(vram_free))
  
          # Batch size of 2 actually uses about 338MB less than a single image??
          # From there batches increase at ~680MB per item in the batch
  
          self.batch_size = int(((vram_free - self.vram) / 680) + 2)
 
</s> remove             if self.verbose:
                print("Using CPU. Limiting RAM useage to {}MB".format(alloc))
 </s> add             logger.warning("Using CPU")
        else:
            alloc = vram_free
        logger.debug("Allocated for Tensorflow: %sMB", alloc) </s> remove     def compiled_for_cuda(self):
 </s> add     @staticmethod
    def compiled_for_cuda():
          if is_cuda:
              vram_free = self.get_vram_free()
          else:
              vram_free = 2048



  
          # Batch size of 2 actually uses about 338MB less than a single image??
          # From there batches increase at ~680MB per item in the batch
  
          self.batch_size = int(((vram_free - self.vram) / 680) + 2)
keep keep keep keep replace replace 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 
plugins/extract/detect/dlib_cnn.py