          """ Refresh the list of log filenames. """
          logger.debug("Refreshing log filenames")
          self._filenames = self._get_log_filenames()
  
      def get(self, session_id):
          """ Obtain the log filename for the given session id.
  
          Parameters
          ----------
          session_id: int
 
</s> remove     def refresh(self):
 </s> add     def refresh(self) -> None: </s> remove     def _get_log_filename(cls, folder, filenames):
 </s> add     def _get_log_filename(cls, folder: str, filenames: List[str]) -> str: </s> remove             del old

    def get_data(self, session_id, metric):
 </s> add     def get_data(self, session_id: int, metric: Literal["loss", "timestamps"]
                 ) -> Optional[Dict[int, Dict[str, Union[np.ndarray, List[str]]]]]: </s> remove     def __init__(self, logs_folder):
 </s> add     def __init__(self, logs_folder: str) -> None: </s> remove     def set_training(self, is_training):
 </s> add     def set_training(self, is_training: bool) -> None:
    def get(self, session_id: int) -> str:
          """ Refresh the list of log filenames. """
          logger.debug("Refreshing log filenames")
          self._filenames = self._get_log_filenames()
  
    def get(self, session_id: int) -> str:
          """ Obtain the log filename for the given session id.
  
          Parameters
          ----------
          session_id: int
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