  #!/usr/bin/env python3
  """ Plugin loader for extract, training and model tasks """
  
  import logging
  import os
  from importlib import import_module
  
 
</s> remove     """ Plugin loader for extract, training and model tasks """
 </s> add     """ Retrieve, or get information on, Faceswap plugins

    Return a specific plugin, list available plugins, or get the default plugin for a
    task.

    Example
    -------
    >>> from plugins.plugin_loader import PluginLoader
    >>> align_plugins = PluginLoader.get_available_extractors('align')
    >>> aligner = PluginLoader.get_aligner('cv2-dnn')
    """ </s> remove """ VGG Clear face mask plugin """
 </s> add """ VGG Clear face mask plugin

Architecture and Pre-Trained Model based on...
On Face Segmentation, Face Swapping, and Face Perception
https://arxiv.org/abs/1704.06729

Source Implementation...
https://github.com/YuvalNirkin/face_segmentation

Model file sourced from...
https://github.com/YuvalNirkin/face_segmentation/releases/download/1.1/face_seg_fcn8s_300_no_aug.zip

Caffe model reimplemented in Keras by Kyle Vrooman
""" </s> remove """ VGG Obstructed face mask plugin """
 </s> add """ VGG Obstructed face mask plugin

Architecture and Pre-Trained Model based on...
On Face Segmentation, Face Swapping, and Face Perception
https://arxiv.org/abs/1704.06729

Source Implementation...
https://github.com/YuvalNirkin/face_segmentation

Model file sourced from...
https://github.com/YuvalNirkin/face_segmentation/releases/download/1.0/face_seg_fcn8s.zip

Caffe model reimplemented in Keras by Kyle Vrooman
""" </s> remove """ UNET DFL face mask plugin """
 </s> add """ UNET DFL face mask plugin

Architecture and Pre-Trained Model based on...
TernausNet: U-Net with VGG11 Encoder Pre-Trained on ImageNet for Image Segmentation
https://arxiv.org/abs/1801.05746
https://github.com/ternaus/TernausNet

Source Implementation and fine-tune training....
https://github.com/iperov/DeepFaceLab/blob/master/nnlib/TernausNet.py

Model file sourced from...
https://github.com/iperov/DeepFaceLab/blob/master/nnlib/FANSeg_256_full_face.h5
"""
""" Plugin loader for Faceswap extract, training and convert tasks """
  #!/usr/bin/env python3
""" Plugin loader for Faceswap extract, training and convert tasks """
  
  import logging
  import os
  from importlib import import_module
  
keep replace keep keep keep keep keep
 Smart Mask - Extract code review

- Lint simple_tests.py
- Only reformat alignments file if it exists otherwise change filename
- Update legacy alignments to new format at all stages
- faces_detect.Mask.from_dict - logging format fix
- convert.py fix otf for new pipeline
- cli.py - Add note that masks not used. Revert convert masks
- faces_detect.py - Revert non-extract code
- Add .p and .pickle extensions for serializer
- plugins/extract revert some changes
- scripts/fsmedia - Revert code changes
- Pipeline - cleanup
- Consistant alpha channel stripping (fixes single-process)
- Store landmarks as numpy array
- Code attribution
- Normalize feed face and reference face to 0.0 - 1.0 in convert
- Lock in mask VRAM sized
- Add documentation to plugin_loader
- Update alignments tool to work with new format 
plugins/plugin_loader.py