  from lib.convert import Converter
  from lib.faces_detect import DetectedFace
  from lib.multithreading import MultiThread, PoolProcess, total_cpus
  from lib.queue_manager import queue_manager
  from lib.utils import get_folder, get_image_paths, hash_image_file
  from plugins.extract.pipeline import Extractor
  from plugins.plugin_loader import PluginLoader
 
</s> remove         self.batchsize = min(queue_size, 16)
 </s> add         self.batchsize = self.get_batchsize(queue_size) </s> remove     def snapshot_model(self):
        """ Take a snapshot of the model at current state and back up """
        logger.info("Saving snapshot")
        src = os.path.dirname(self.filename)
        dst = get_folder("{}_{}".format(src, self.iterations))
        for filename in os.listdir(src):
            if filename.endswith(".bk"):
                continue
            srcfile = os.path.join(src, filename)
            dstfile = os.path.join(dst, filename)
            copyfunc = copytree if os.path.isdir(srcfile) else copyfile
            logger.debug("Saving snapshot: '%s' > '%s'", srcfile, dstfile)
            copyfunc(srcfile, dstfile)
        logger.info("Saved snapshot")

 </s> add  </s> remove         if snapshot:
            self.snapshot_model()
 </s> add  </s> remove     def save(self, should_backup=False, snapshot=False):
 </s> add     def save(self, should_backup=False):
from lib.gpu_stats import GPUStats
  from lib.convert import Converter
  from lib.faces_detect import DetectedFace
from lib.gpu_stats import GPUStats
  from lib.multithreading import MultiThread, PoolProcess, total_cpus
  from lib.queue_manager import queue_manager
  from lib.utils import get_folder, get_image_paths, hash_image_file
  from plugins.extract.pipeline import Extractor
  from plugins.plugin_loader import PluginLoader
keep add keep keep keep keep keep
 Minor changes

Convert - Force prediction batchsize to 1 when converting on CPU
Training: Move snapshot saving to outside of the save threads to avoid race condition
GUI Summary stats. Show iteration count for current training session (fixed to last save amount). 
scripts/convert.py