          """ str: The full model filename """
          return os.path.join(self._model_dir, self._model_name)
  
      @property
      def batch_sizes(self):
          """ dict: The batch sizes for each session_id for the model. """
          if self._state is None:
              return {}
          return {int(sess_id): sess["batchsize"]
                  for sess_id, sess in self._state.get("sessions", {}).items()}
 
</s> remove     def model_filename(self):
 </s> add     def model_filename(self) -> str: </s> remove     def full_summary(self):
 </s> add     def full_summary(self) -> List[dict]: </s> remove     def logging_disabled(self):
 </s> add     def logging_disabled(self) -> bool: </s> remove     def stats(self):
 </s> add     def stats(self) -> dict: </s> remove     def _load_state_file(self):
 </s> add     def _load_state_file(self) -> None:
    def batch_sizes(self) -> dict:
          """ str: The full model filename """
          return os.path.join(self._model_dir, self._model_name)
  
      @property
    def batch_sizes(self) -> dict:
          """ dict: The batch sizes for each session_id for the model. """
          if self._state is None:
              return {}
          return {int(sess_id): sess["batchsize"]
                  for sess_id, sess in self._state.get("sessions", {}).items()}
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