  
          Returns
          -------
          str
              The full path the the selected log file
          """
          logfiles = [fname for fname in filenames if fname.startswith("events.out.tfevents")]
          retval = os.path.join(folder, sorted(logfiles)[-1])  # Take last item if multi matches
          logger.debug("logfiles: %s, selected: '%s'", logfiles, retval)
          return retval
 
</s> remove     def refresh(self):
 </s> add     def refresh(self) -> None: </s> remove         retval = self._filenames.get(session_id)
 </s> add         retval = self._filenames.get(session_id, "") </s> remove         dict
 </s> add         dict[int, str] </s> remove         retval = {}
 </s> add         retval: Dict[int, str] = {} </s> remove         filenames: list
 </s> add         filenames: list[str]
            The full path of the selected log file
  
          Returns
          -------
          str
            The full path of the selected log file
          """
          logfiles = [fname for fname in filenames if fname.startswith("events.out.tfevents")]
          retval = os.path.join(folder, sorted(logfiles)[-1])  # Take last item if multi matches
          logger.debug("logfiles: %s, selected: '%s'", logfiles, retval)
          return retval
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