          """ Get the Tensorflow event filenames for all existing sessions.
  
          Returns
          -------
          dict
              The full path of each log file for each training session id that has been run
          """
          logger.debug("Loading log filenames. base_dir: '%s'", self._logs_folder)
          retval = {}
          for dirpath, _, filenames in os.walk(self._logs_folder):
 
</s> remove         retval = {}
 </s> add         retval: Dict[int, str] = {} </s> remove     def _get_log_filenames(self):
 </s> add     def _get_log_filenames(self) -> Dict[int, str]: </s> remove             The full path the the selected log file
 </s> add             The full path of the selected log file </s> remove         retval = self._filenames.get(session_id)
 </s> add         retval = self._filenames.get(session_id, "") </s> remove     def session_ids(self):
        """ list: Sorted list of `ints` of available session ids. """
 </s> add     def session_ids(self) -> List[int]:
        """ list[int]: Sorted list of `ints` of available session ids. """
        dict[int, str]
          """ Get the Tensorflow event filenames for all existing sessions.
  
          Returns
          -------
        dict[int, str]
              The full path of each log file for each training session id that has been run
          """
          logger.debug("Loading log filenames. base_dir: '%s'", self._logs_folder)
          retval = {}
          for dirpath, _, filenames in os.walk(self._logs_folder):
keep keep keep keep replace keep keep keep keep keep
 Bugfixes
  - plugin.train.unbalanced - decoder b
  - gui.stats - crash when log folder deleted
  - setup.py - install gcc=12.1.0 on linux (scipy dep)
  - setup.py - don't test ROCm unless valid
  - typofix - cli_args extract singleprocess help
typing
  - lib.gui.analysis.event_reader
  - lib.gpu_stats.directml - make platform specific
unit tests
  - lib.gui.analysis.event_reader 
lib/gui/analysis/event_reader.py