  import cv2
  import numpy
  from random import shuffle
  
  import lib.utils
  from lib.umeyama import umeyama
  
  class TrainingDataGenerator():
 
</s> remove import lib.utils
from lib.umeyama import umeyama
 </s> add from .multithreading import BackgroundGenerator
from .umeyama import umeyama
 </s> remove from lib.detect_blur import is_blurry
 </s> add  </s> remove from lib.utils import get_folder, get_image_paths, set_system_verbosity, Timelapse
from plugins.PluginLoader import PluginLoader
 </s> add from lib.utils import (get_folder, get_image_paths, set_system_verbosity,
                       Timelapse)
from plugins.plugin_loader import PluginLoader
  import cv2
  import numpy

  
  import lib.utils
  from lib.umeyama import umeyama
  
  class TrainingDataGenerator():
keep keep replace keep keep keep keep keep
 Extraction - Speed improvements (#522) (#523)

* Extraction - Speed improvements (#522)

* Initial Plugin restructure

* Detectors to plugins. Detector speed improvements

* Re-implement dlib aligner, remove models, FAN to TF. Parallel processing

* Update manual, update convert, implement parallel/serial switching

* linting + fix cuda check (setup.py). requirements update keras 2.2.4

* Add extract size option. Fix dlib hog init

* GUI: Increase tooltip width

* Update alignment tool to support new DetectedFace

* Add skip existing faces option

* Fix sort tool to new plugin structure

* remove old align plugin

* fix convert -skip faces bug

* Fix convert skipping no faces frames

* Convert - draw onto transparent layer

* Fix blur threshold bug

* fix skip_faces convert bug

* Fix training 
lib/training_data.py