                                                    now,
                                                    "png"))
          get_images().previewtrain[self.name][0].save(filename)
          logger.debug("Saved preview to %s", filename)
          print("Saved preview to {}".format(filename))
  
  
  class GraphDisplay(DisplayOptionalPage):  # pylint: disable=too-many-ancestors
      """ The Graph Tab of the Display section """
      def __init__(self, parent, tab_name, helptext, wait_time, command=None):
 
</s> remove         self._trace_vars = dict()
 </s> add         self._trace_vars = {} </s> remove         print("Saved preview to {}".format(filename))
 </s> add         print(f"Saved preview to {filename}") </s> remove         filename = os.path.join(location,
                                "{}_{}.{}".format(filename,
                                                  now,
                                                  "png"))
 </s> add         filename = os.path.join(location, f"{filename}_{now}.png") </s> remove         filename = os.path.join(location,
                                "{}_{}.{}".format(filename,
                                                  now,
                                                  "png"))
 </s> add         filename = os.path.join(location, f"{filename}_{now}.png") </s> remove                     print("Error reading the preview file for {}".format(name))
 </s> add                     print(f"Error reading the preview file for {name}")
        print(f"Saved preview to {filename}")
                                                    now,
                                                    "png"))
          get_images().previewtrain[self.name][0].save(filename)
          logger.debug("Saved preview to %s", filename)
        print(f"Saved preview to {filename}")
  
  
  class GraphDisplay(DisplayOptionalPage):  # pylint: disable=too-many-ancestors
      """ The Graph Tab of the Display section """
      def __init__(self, parent, tab_name, helptext, wait_time, command=None):
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