          The :class:`numpy.ndarray` training images for generating previews on each side. The
          dictionary should contain 2 keys ("a" and "b") with the values being the training images
          for generating samples corresponding to each side.
      """
      def __init__(self, model, coverage_ratio, scaling=1.0):
          logger.debug("Initializing %s: model: '%s', coverage_ratio: %s)",
                       self.__class__.__name__, model, coverage_ratio)
          self._model = model
          self._display_mask = model.config["learn_mask"] or model.config["penalized_mask_loss"]
          self.images = {}
 
</s> remove     scaling: float, optional
        The amount to scale the final preview image by. Default: `1.0`
 </s> add  </s> remove         self._scaling = scaling
 </s> add  </s> remove         if self._scaling != 1.0:
            new_size = int(images[0].shape[1] * self._scaling)
            images = [self._resize_sample(side, image, new_size) for image in images]
 </s> add  </s> remove     def get_argument_list():
 </s> add     def get_argument_list() -> List[Dict[str, Any]]: </s> remove     def get_info():
 </s> add     def get_info() -> str:
    def __init__(self, model, coverage_ratio):
          The :class:`numpy.ndarray` training images for generating previews on each side. The
          dictionary should contain 2 keys ("a" and "b") with the values being the training images
          for generating samples corresponding to each side.
      """
    def __init__(self, model, coverage_ratio):
          logger.debug("Initializing %s: model: '%s', coverage_ratio: %s)",
                       self.__class__.__name__, model, coverage_ratio)
          self._model = model
          self._display_mask = model.config["learn_mask"] or model.config["penalized_mask_loss"]
          self.images = {}
keep keep keep keep replace keep keep keep keep keep
 Live Preview - Replace cv2 with matplotlib viewer 
plugins/train/trainer/_base.py