          # not possible to distribute them evenly
          num_per_bin = len(img_list) // num_bins
          remainder = len(img_list) % num_bins
  
          print("Grouping by face-yaw...")
          bins = [[] for _ in range(num_bins)]
          idx = 0
          for i in range(num_bins):
              for _ in range(num_per_bin):
                  bins[i].append(img_list[idx][0])
 
</s> remove         print("Grouping by blur...")
 </s> add         logger.info("Grouping by blur...") </s> remove         for _ in range(self.thread_count):
            thread = threading.Thread(target=target, args=args, kwargs=kwargs)
            thread.daemon = True
 </s> add         logger.debug("Starting thread(s): '%s'", self._name)
        for idx in range(self._thread_count):
            name = "{}_{}".format(self._name, idx)
            logger.debug("Starting thread %s of %s: '%s'",
                         idx + 1, self._thread_count, name)
            thread = FSThread(name=name,
                              target=self._target,
                              args=self._args,
                              kwargs=self._kwargs)
            thread.daemon = self.daemon </s> remove             item = self.queues["in"].get()
 </s> add             item = self.get_item() </s> remove         print("Sorting by face-yaw...")
 </s> add         logger.info("Sorting by face-yaw...")
        logger.info("Grouping by face-yaw...")
          # not possible to distribute them evenly
          num_per_bin = len(img_list) // num_bins
          remainder = len(img_list) % num_bins
  
        logger.info("Grouping by face-yaw...")
          bins = [[] for _ in range(num_bins)]
          idx = 0
          for i in range(num_bins):
              for _ in range(num_per_bin):
                  bins[i].append(img_list[idx][0])
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 
tools/sort.py