          existing = self.subnotebook_get_titles_ids()
          should_update = self.update_preview.get()
  
          for name in sortednames:
              if name not in existing.keys():
                  self.add_child(name)
              elif should_update:
                  tab_id = existing[name]
                  self.update_child(tab_id, name)
  
 
</s> remove             self._previewtrain = dict()
 </s> add             self._previewtrain = {} </s> remove             new_names.append("{}_{}".format(name, seen[name]))
 </s> add             new_names.append(f"{name}_{seen[name]}") </s> remove         tabs = dict()
 </s> add         tabs = {} </s> remove         retval = dict()
 </s> add         retval = {} </s> remove         loss_keys = {sess_id: list(logs.keys())
                     for sess_id, logs in self._tb_logs.get_loss(session_id=session_id).items()}
 </s> add         if get_backend() == "amd":
            # We can't log the graph in Tensorboard logs for AMD so need to obtain from state file
            loss_keys = {int(sess_id): [name for name in session["loss_names"] if name != "total"]
                         for sess_id, session in self._state["sessions"].items()}
        else:
            loss_keys = {sess_id: list(logs.keys())
                         for sess_id, logs
                         in self._tb_logs.get_loss(session_id=session_id).items()}

            if name not in existing:
          existing = self.subnotebook_get_titles_ids()
          should_update = self.update_preview.get()
  
          for name in sortednames:
            if name not in existing:
                  self.add_child(name)
              elif should_update:
                  tab_id = existing[name]
                  self.update_child(tab_id, name)
  
keep keep keep keep 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 
lib/gui/display_command.py