                  continue
              model.summary(line_length=100, print_fn=print_fn)
          parent.summary(line_length=100, print_fn=print_fn)
  
      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()
  
      def _compile_model(self) -> None:
          """ Compile the model to include the Optimizer and Loss Function(s). """
          logger.debug("Compiling Model")
  
          if self.state.model_needs_rebuild:
 
</s> remove     def save(self, is_exit: bool = False, force_save_optimizer: bool = False) -> None:
 </s> add     def save(self,
             is_exit: bool = False,
             force_save_optimizer: bool = False) -> None: </s> remove     def __init__(self, parent, hide_status=False):
 </s> add     def __init__(self, parent: ttk.Frame, hide_status: bool = False) -> None: </s> remove         return os.path.isfile(self._filename)
 </s> add         return os.path.isfile(self.filename) </s> remove     def _status(self, hide_status):
 </s> add     def _status(self, hide_status: bool) -> None: </s> remove     def progress_update(self, message, position, update_position=True):
 </s> add     def set_mode(self, mode: T.Literal["indeterminate", "determinate"]) -> None:
        """ Set the mode of a currently displayed progress bar and reset position to 0.

        If the given mode is the same as the currently configured mode, returns without performing
        any action.

        Parameters
        ----------
        mode: ["indeterminate", "determinate"]
            The mode that the progress bar should be set to
        """
        if mode == self._mode:
            return
        self.stop()
        self.start(mode)

    def progress_update(self, message: str, position: int, update_position: bool = True) -> None:
                  continue
              model.summary(line_length=100, print_fn=print_fn)
          parent.summary(line_length=100, print_fn=print_fn)
  




















      def _compile_model(self) -> None:
          """ Compile the model to include the Optimizer and Loss Function(s). """
          logger.debug("Compiling Model")
  
          if self.state.model_needs_rebuild:
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace 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