              self._history = [[], []]  # Reset historical loss
          logger.debug("Average losses since last save: %s", retval)
          return retval
  
      def _should_backup(self, save_averages: T.List[float]) -> bool:
          """ Check whether the loss averages for this save iteration is the lowest that has been
          seen.
  
          This protects against model corruption by only backing up the model if both sides have
          seen a total fall in loss.
 
</s> remove     def _get_save_averages(self) -> T.List[float]:
 </s> add     def _get_save_averages(self) -> list[float]: </s> remove         self._history: T.List[T.List[float]] = [[], []]  # Loss histories per save iteration
 </s> add         self._history: list[list[float]] = [[], []]  # Loss histories per save iteration </s> remove     def _get_newest_filenames(self, image_files: List[str]) -> List[str]:
 </s> add     def _get_newest_filenames(self, image_files: list[str]) -> list[str]: </s> remove     def add_history(self, loss: T.List[float]) -> None:
 </s> add     def add_history(self, loss: list[float]) -> None: </s> remove     def multiple_models_in_folder(self) -> T.Optional[T.List[str]]:
 </s> add     def multiple_models_in_folder(self) -> list[str] | None:
    def _should_backup(self, save_averages: list[float]) -> bool:
              self._history = [[], []]  # Reset historical loss
          logger.debug("Average losses since last save: %s", retval)
          return retval
  
    def _should_backup(self, save_averages: list[float]) -> bool:
          """ Check whether the loss averages for this save iteration is the lowest that has been
          seen.
  
          This protects against model corruption by only backing up the model if both sides have
          seen a total fall in loss.
keep keep keep keep replace keep keep keep keep keep
 Rebase code (#1326)

* Remove tensorflow_probability requirement

* setup.py - fix progress bars

* requirements.txt: Remove pre python 3.9 packages

* update apple requirements.txt

* update INSTALL.md

* Remove python<3.9 code

* setup.py - fix Windows Installer

* typing: python3.9 compliant

* Update pytest and readthedocs python versions

* typing fixes

* Python Version updates
  - Reduce max version to 3.10
  - Default to 3.10 in installers
  - Remove incompatible 3.11 tests

* Update dependencies

* Downgrade imageio dep for Windows

* typing: merge optional unions and fixes

* Updates
  - min python version 3.10
  - typing to python 3.10 spec
  - remove pre-tf2.10 code
  - Add conda tests

* train: re-enable optimizer saving

* Update dockerfiles

* Update setup.py
  - Apple Conda deps to setup.py
  - Better Cuda + dependency handling

* bugfix: Patch logging to prevent Autograph errors

* Update dockerfiles

* Setup.py - Setup.py - stdout to utf-8

* Add more OSes to github Actions

* suppress mac-os end to end test 
plugins/train/model/_base/io.py