  from ._config import Config
  
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
  # TODO Cpu mode
  # TODO Run with warnings mode
  
  
  def _get_config(plugin_name, configfile=None):
      """ Return the config for the requested model
 
</s> remove     """ Return the config for the requested model
 </s> add     """ Return the configuration for the requested model </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 from .lib_alignments import (AlignmentData, Check, Draw, # noqa pylint: disable=unused-import
                             Extract, Manual, Merge, Reformat, Rename,
 </s> add from .lib_alignments import (AlignmentData, Check, Dfl, Draw, # noqa pylint: disable=unused-import
                             Extract, Manual, Merge, Rename, </s> remove         """ Return requested model plugin """
 </s> add         """ Return requested training model plugin

        Parameters
        ----------
        name: str
            The name of the requested training model plugin
        disable_logging: bool, optional
            Whether to disable the INFO log message that the plugin is being imported.
            Default: `False`

        Returns
        -------
        :class:`plugins.train.model` object:
            A training model plugin
        """
# TODO CPU mode
  from ._config import Config
  
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
# TODO CPU mode
  # TODO Run with warnings mode
  
  
  def _get_config(plugin_name, configfile=None):
      """ Return the config for the requested model
keep keep keep 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/extract/_base.py