              logger.info("No existing state file found. Generating.")
              return
          state = self._serializer.load(self._filename)
          self._name = state.get("name", self._name)
          self._sessions = state.get("sessions", dict())
          self._lowest_avg_loss = state.get("lowest_avg_loss", dict())
          self._iterations = state.get("iterations", 0)
          self._config = state.get("config", dict())
          logger.debug("Loaded state: %s", state)
          self._replace_config(config_changeable_items)
  
 
</s> remove         self._config = state.get("config", dict())
 </s> add         self._config = state.get("config", {}) </s> remove         self._sessions = dict()
        self._lowest_avg_loss = dict()
        self._config = dict()
 </s> add         self._sessions = {}
        self._lowest_avg_loss = {}
        self._config = {} </s> remove         state_file = os.path.join(self._model_dir, "{}_state.json".format(self._model_name))
 </s> add         state_file = os.path.join(self._model_dir, f"{self._model_name}_state.json") </s> remove         filename = "{}_state.{}".format(model_name, self._serializer.file_extension)
 </s> add         filename = f"{model_name}_state.{self._serializer.file_extension}" </s> remove             retval = loss_dict.get(session_id, dict())
 </s> add             retval = loss_dict.get(session_id, {})
        self._sessions = state.get("sessions", {})
        self._lowest_avg_loss = state.get("lowest_avg_loss", {})
              logger.info("No existing state file found. Generating.")
              return
          state = self._serializer.load(self._filename)
          self._name = state.get("name", self._name)
        self._sessions = state.get("sessions", {})
        self._lowest_avg_loss = state.get("lowest_avg_loss", {})
        self._sessions = state.get("sessions", {})
        self._lowest_avg_loss = state.get("lowest_avg_loss", {})
          self._iterations = state.get("iterations", 0)
          self._config = state.get("config", dict())
          logger.debug("Loaded state: %s", state)
          self._replace_config(config_changeable_items)
  
keep keep keep keep replace replace keep keep keep keep keep
 Update code to support Tensorflow versions up to 2.8 (#1213)

* Update maximum tf version in setup + requirements

* - bump max version of tf version in launcher
- standardise tf version check

* update keras get_custom_objects  for tf>2.6

* bugfix: force black text in GUI file dialogs (linux)

* dssim loss - Move to stock tf.ssim function

* Update optimizer imports for compatibility

* fix logging for tf2.8

* Fix GUI graphing for TF2.8

* update tests

* bump requirements.txt versions

* Remove limit on nvidia-ml-py

* Graphing bugfixes
  - Prevent live graph from displaying if data not yet available

* bugfix: Live graph. Collect loss labels correctly

* fix: live graph - swallow inconsistent loss errors

* Bugfix: Prevent live graph from clearing during training

* Fix graphing for AMD 
plugins/train/model/_base.py