      def session_id(self) -> int:
          """ int: The current training session id. """
          return self._session_id
  
      @property
      def mixed_precision_layers(self) -> list[str]:
          """list: Layers that can be switched between mixed-float16 and float32. """
          return self._mixed_precision_layers
 
</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 </s> remove         return os.path.isfile(self._filename)
 </s> add         return os.path.isfile(self.filename) </s> remove     def _filename(self) -> str:
 </s> add     def model_dir(self) -> str:
        """ str: The full path to the model folder """
        return self._model_dir

    @property
    def filename(self) -> str:
    @property
    def sessions(self) -> dict[int, dict[str, T.Any]]:
        """ dict[int, dict[str, Any]]: The session information for each session in the state
        file """
        return {int(k): v for k, v in self._sessions.items()}

      def session_id(self) -> int:
          """ int: The current training session id. """
          return self._session_id
  
    @property
    def sessions(self) -> dict[int, dict[str, T.Any]]:
        """ dict[int, dict[str, Any]]: The session information for each session in the state
        file """
        return {int(k): v for k, v in self._sessions.items()}

      @property
      def mixed_precision_layers(self) -> list[str]:
          """list: Layers that can be switched between mixed-float16 and float32. """
          return self._mixed_precision_layers
keep keep keep add 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