                     f"'{self.model_dir}'.\nPlease select a different model folder.")
          else:
              ptypes = "', '".join(multiple_models)
              msg = (f"There are multiple plugin types ('{ptypes}') stored in the model folder '"
                     f"{self.model_dir}'. This is not supported.\nPlease split the model files into "
                     "their own folders before proceeding")
          raise FaceswapError(msg)
  
      def build(self) -> None:
          """ Build the model and assign to :attr:`model`.
  
 
</s> remove                    f"'{self.model_dir}'.\nPlease select a different model folder.")
 </s> add                    f"'{self.io.model_dir}'.\nPlease select a different model folder.") </s> remove                 msg = (f"Unable to load the model from '{self._filename}'. This may be a "
 </s> add                 msg = (f"Unable to load the model from '{self.filename}'. This may be a " </s> remove                 msg = (f"Unable to load the model from '{self._filename}'. This may be a "
 </s> add                 msg = (f"Unable to load the model from '{self.filename}'. This may be a " </s> remove         logger.info("Loaded model from disk: '%s'", self._filename)
 </s> add         logger.info("Loaded model from disk: '%s'", self.filename) </s> remove     def save(self, is_exit: bool = False) -> None:
        """ Save the model to disk.

        Saves the serialized model, with weights, to the folder location specified when
        initializing the plugin. If loss has dropped on both sides of the model, then
        a backup is taken.

        Parameters
        ----------
        is_exit: bool, optional
            ``True`` if the save request has come from an exit process request otherwise ``False``
            Default: ``False``
        """
        self._io.save(is_exit=is_exit)

    def snapshot(self) -> None:
        """ Creates a snapshot of the model folder to the models parent folder, with the number
        of iterations completed appended to the end of the model name. """
        self._io.snapshot()

 </s> add 
                   f"{self.io.model_dir}'. This is not supported.\nPlease split the model files "
                   "into their own folders before proceeding")
                     f"'{self.model_dir}'.\nPlease select a different model folder.")
          else:
              ptypes = "', '".join(multiple_models)
              msg = (f"There are multiple plugin types ('{ptypes}') stored in the model folder '"
                   f"{self.io.model_dir}'. This is not supported.\nPlease split the model files "
                   "into their own folders before proceeding")
                   f"{self.io.model_dir}'. This is not supported.\nPlease split the model files "
                   "into their own folders before proceeding")
          raise FaceswapError(msg)
  
      def build(self) -> None:
          """ Build the model and assign to :attr:`model`.
  
keep keep keep keep replace replace keep keep keep keep keep
 Learning Rate finder (#1341)

* Add LR Finder support structure

* Move trainer.Feeder to lib.training.generator

* Expose model.io

* Add lr_finder

* Update docs and locales

* Pre-PR fixups
  - Fix training graph not displaying
  - CI fixes
  - Switch lr finder progress to tqdm
  - Exit lr finder early on NaN
  - Display lr finder progress in GUI 
plugins/train/model/_base/model.py