          self._session_id = self._new_session_id()
          self._create_new_session(no_logs, config_changeable_items)
          logger.debug("Initialized %s:", self.__class__.__name__)
  
      @property
      def loss_names(self) -> list[str]:
          """ list: The loss names for the current session """
          return self._sessions[self._session_id]["loss_names"]
  
 
</s> remove         return os.path.isfile(self._filename)
 </s> add         return os.path.isfile(self.filename) </s> remove     def model_dir(self) -> str:
        """str: The full path to the model folder location. """
        return self._io._model_dir  # pylint:disable=protected-access
 </s> add     def io(self) -> IO:  # pylint:disable=invalid-name
        """ :class:`~plugins.train.model.io.IO`: Input/Output operations for the model """
        return self._io
    @property
    def filename(self) -> str:
        """ str: Full path to the state filename """
        return self._filename

          self._session_id = self._new_session_id()
          self._create_new_session(no_logs, config_changeable_items)
          logger.debug("Initialized %s:", self.__class__.__name__)
  
    @property
    def filename(self) -> str:
        """ str: Full path to the state filename """
        return self._filename

      @property
      def loss_names(self) -> list[str]:
          """ list: The loss names for the current session """
          return self._sessions[self._session_id]["loss_names"]
  
keep keep keep add 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