  
          self._summary = SessionsSummary(self)
          logger.debug("Initialized session. Session_IDS: %s", self.session_ids)
  
      def stop_training(self):
          """ Clears the internal training flag. To be called when training completes. """
          self._is_training = False
          if self._tb_logs is not None:
              self._tb_logs.set_training(False)
  
 
</s> remove     def clear(self):
 </s> add     def clear(self) -> None: </s> remove     def get_loss(self, session_id):
 </s> add     def get_loss(self, session_id: Optional[int]) -> dict: </s> remove     def is_training(self):
 </s> add     def is_training(self) -> bool: </s> remove     def _get_per_session_stats(self):
 </s> add     def _get_per_session_stats(self) -> None: </s> remove     def __init__(self):
 </s> add     def __init__(self) -> None:
    def stop_training(self) -> None:
  
          self._summary = SessionsSummary(self)
          logger.debug("Initialized session. Session_IDS: %s", self.session_ids)
  
    def stop_training(self) -> None:
          """ Clears the internal training flag. To be called when training completes. """
          self._is_training = False
          if self._tb_logs is not None:
              self._tb_logs.set_training(False)
  
keep keep keep keep replace keep keep keep keep keep
 Bugfixes:
  - Stats graph - Handle NaNs in data
  - logger - de-elevate matplotlib font messages 
lib/gui/analysis/stats.py