                                textvariable=self._message,
                                anchor=tk.W)
          lblstatus.pack(side=tk.LEFT, anchor=tk.W, fill=tk.X, expand=True)
  
      def _progress_bar(self):
          """ Place progress bar into right of the status bar. """
          progressframe = ttk.Frame(self._frame)
          progressframe.pack(side=tk.RIGHT, anchor=tk.E, fill=tk.X)
  
          lblmessage = ttk.Label(progressframe, textvariable=self._pbar_message)
          lblmessage.pack(side=tk.LEFT, padx=3, fill=tk.X, expand=True)
 
</s> remove     def message(self):
 </s> add     def message(self) -> tk.StringVar: </s> remove     def start(self, mode):
 </s> add     def start(self, mode: T.Literal["indeterminate", "determinate"]) -> None: </s> remove     def _status(self, hide_status):
 </s> add     def _status(self, hide_status: bool) -> None: </s> remove                                mode="determinate")
 </s> add                                mode=self._mode) </s> remove         self._set_mode("determinate")
 </s> add         self._mode = "determinate"
        self._set_mode(self._mode)
    def _progress_bar(self) -> ttk.Progressbar:
        """ Place progress bar into right of the status bar.

        Returns
        -------
        :class:`tkinter.ttk.Progressbar`
            The progress bar object
        """
                                textvariable=self._message,
                                anchor=tk.W)
          lblstatus.pack(side=tk.LEFT, anchor=tk.W, fill=tk.X, expand=True)
  
    def _progress_bar(self) -> ttk.Progressbar:
        """ Place progress bar into right of the status bar.

        Returns
        -------
        :class:`tkinter.ttk.Progressbar`
            The progress bar object
        """
    def _progress_bar(self) -> ttk.Progressbar:
        """ Place progress bar into right of the status bar.

        Returns
        -------
        :class:`tkinter.ttk.Progressbar`
            The progress bar object
        """
          progressframe = ttk.Frame(self._frame)
          progressframe.pack(side=tk.RIGHT, anchor=tk.E, fill=tk.X)
  
          lblmessage = ttk.Label(progressframe, textvariable=self._pbar_message)
          lblmessage.pack(side=tk.LEFT, padx=3, fill=tk.X, expand=True)
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 
lib/gui/custom_widgets.py