  
  import cv2
  
  from lib import Serializer
  from lib.utils import rotate_landmarks
  
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
  
  class Alignments():
 
</s> remove from lib.faces_detect import DetectedFace
from lib.utils import rotate_landmarks
 </s> add from lib.faces_detect import DetectedFace, rotate_landmarks </s> remove from lib.queue_manager import queue_manager
from lib.umeyama import umeyama
from lib.utils import cv2_read_img, FaceswapError
 </s> add from lib.utils import FaceswapError </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
  
  import cv2
  
  from lib import Serializer

  
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
  
  class Alignments():
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 
lib/alignments.py