  from tensorflow.python import errors_impl as tf_errors  # pylint:disable=no-name-in-module
  
  from lib.alignments import Alignments
  from lib.faces_detect import DetectedFace
  from lib.training_data import TrainingDataGenerator, stack_images
  from lib.utils import FaceswapError, get_folder, get_image_paths
  from plugins.train._config import Config
  
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
 
</s> remove from lib.utils import FaceswapError, get_folder, get_image_paths, hash_image_file
 </s> add from lib.utils import FaceswapError, get_folder, get_image_paths </s> remove from lib.utils import (_image_extensions, _video_extensions, count_frames_and_secs, cv2_read_img,
                       hash_image_file, hash_encode_image)
 </s> add from lib.image import count_frames_and_secs, encode_image_with_hash, read_image, read_image_hash
from lib.utils import _image_extensions, _video_extensions </s> remove from lib.utils import (camel_case_split, count_frames_and_secs, cv2_read_img, get_folder,
                       get_image_paths, set_system_verbosity, _video_extensions)
 </s> add from lib.image import count_frames_and_secs, read_image
from lib.utils import (camel_case_split, get_folder, get_image_paths, set_system_verbosity,
                       _video_extensions) </s> remove from lib.multithreading import MultiThread
 </s> add 
from lib.training_data import TrainingDataGenerator
  from tensorflow.python import errors_impl as tf_errors  # pylint:disable=no-name-in-module
  
  from lib.alignments import Alignments
  from lib.faces_detect import DetectedFace
from lib.training_data import TrainingDataGenerator
  from lib.utils import FaceswapError, get_folder, get_image_paths
  from plugins.train._config import Config
  
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
keep keep keep keep replace keep keep keep keep keep
 Optimize Data Augmentation (#881)

* Move image utils to lib.image
* Add .pylintrc file
* Remove some cv2 pylint ignores
* TrainingData: Load images from disk in batches
* TrainingData: get_landmarks to batch
* TrainingData: transform and flip to batches
* TrainingData: Optimize color augmentation
* TrainingData: Optimize target and random_warp
* TrainingData - Convert _get_closest_match for batching
* TrainingData: Warp To Landmarks optimized
* Save models to threadpoolexecutor
* Move stack_images, Rename ImageManipulation. ImageAugmentation Docstrings
* Masks: Set dtype and threshold for lib.masks based on input face
* Docstrings and Documentation 
plugins/train/trainer/_base.py