  import cv2
  import numpy as np
  
  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
 
</s> remove from tensorflow.python import errors_impl as tf_errors  # pylint:disable=no-name-in-module
import tensorflow as tf
 </s> add  </s> remove import keras
 </s> add  </s> remove from io import StringIO
from lib.faces_detect import DetectedFace
from lib.aligner import Extract
 </s> add  </s> remove import cv2
import keras
 </s> add 
import tensorflow as tf
from tensorflow.python import errors_impl as tf_errors  # pylint:disable=no-name-in-module

  import cv2
  import numpy as np
  
import tensorflow as tf
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
keep keep add keep keep keep keep
 Mask plugin cleanup

- PEP8 Fixes
- Remove config for non NN Masks
- Tidy up defaults helptext
- cli.py fix typos
- Remove unused imports and functions _base.py
- Standardize input_size param
- Enable and update documentation
- Change references from `aligner` to `masker`
- Change  input_size, output_size and coverage_ratio from kwargs to params
- Move load_aligned to batch input iterator
- Remove unnecessary self.input param
- Add softmax layer append function to KSession
- Remove references to KSession protected objects
- Standardize plugin output into finalize method
- Make masks full frame and add to lib.faces_detect
- Add masks to alignments.json (temporary zipped base64 solution) 
plugins/train/trainer/_base.py