          :file:`.config.train.ini` file. Default: ``None``
  
      Returns
      -------
      :class:`lib.config.FaceswapConfig`
          The configuration file for the requested plugin
      """
      return Config(plugin_name, configfile=configfile).config_dict
  
  
  class TrainerBase():
 
</s> remove     def __init__(self, model, images, batch_size, configfile):
 </s> add     def __init__(self,
                 model: "ModelBase",
                 images: Dict[Literal["a", "b"], List[str]],
                 batch_size: int,
                 configfile: Optional[str]) -> None: </s> remove             for creating the preview. If ``None`` then the masks will be generated from the
            internal random image generator. Default: ``None``
 </s> add             for creating the preview. </s> remove         batch_size: int
            The requested batch size for each training iterations
        samples: dict, optional
            Dictionary for side "a", "b" of :class:`numpy.ndarray`. The sample images that should
            be used for creating the preview. If ``None`` then the samples will be generated from
            the internal random image generator. Default: ``None``
        images: dict, optional
            Dictionary for side "a", "b" of :class:`numpy.ndarray`. The target images that should
            be used for creating the preview. If ``None`` then the targets will be generated from
            the internal random image generator. Default: ``None``
        masks: dict, optional
 </s> add         image_count: int
            The number of images to limit the sample output to.
        feed: dict
            Dictionary for side "a", "b" of :class:`numpy.ndarray`. The images that should be fed
            into the model for obtaining a prediction
        samples: dict
            Dictionary for side "a", "b" of :class:`numpy.ndarray`. The 100% coverage target images
            that should be used for creating the preview.
        masks: dict </s> remove         output_index: int
            The output index from the model to get output shapes for
 </s> add         side: ["a", "b"]
            The side of the model to load the generator for
        is_display: bool
            ``True`` if the generator is for creating preview/time-lapse images. ``False`` if it is
            for creating training images
        batch_size: int, optional
            If ``None`` then the batch size selected in command line arguments is used, otherwise
            the batch size provided here is used.
        images: list, optional. Default: ``None``
            If provided then this will be used as the list of images for the generator. If ``None``
            then the training folder images for the side will be used. Default: ``None`` </s> remove         targets: list
            The targets for the model, with the mask as the final entry in the list
        masks: list
            The masks for the model
        additional_masks: list or ``None``
            Any additional masks for the model, or ``None`` if no additional masks are required
 </s> add         is_timelapse, bool, optional
            ``True`` if preview is to be generated for a Timelapse otherwise ``False``.
            Default: ``False``
    dict
        The configuration dictionary for the requested plugin
          :file:`.config.train.ini` file. Default: ``None``
  
      Returns
      -------
    dict
        The configuration dictionary for the requested plugin
    dict
        The configuration dictionary for the requested plugin
      """
      return Config(plugin_name, configfile=configfile).config_dict
  
  
  class TrainerBase():
keep keep keep keep replace replace keep keep keep keep keep
 Data Augmentation update (#1263)

- lib.detected_face
    - Subclass Masks for Landmark based masks
    - Add training mask propery + methods to DetectedFace
  - lib.training_training
    - subclass TrainingDataGenerator for training and preview data
    - Split cache into own module
    - Reduce thread count to 1 to prevent image corruption + data re-use
    - Process on largest model input/output size rather than stored image size
    - Size and crop masks during caching stage
    - Implement ring buffer for data flow
    - Fix preview reload bug
  - augmentation
    - typing
    - switch color aug order
    - better initialization
    - Fix warp + landmark warp to correctly apply at different image scales
    - Slightly improved warp caching
    - Don't store whether image is_preview. Handle all data as training images implicitly
  - plugins.trainer: Typing and fixes to work with trainingdata refactor 
plugins/train/trainer/_base.py