          num_images = (frame_dims[0] // thumbnail_size) * (frame_dims[1] // thumbnail_size)
          logger.debug("num_images: %s", num_images)
          if num_images == 0:
              return False
          samples = list()
          start_idx = len(image_files) - num_images if len(image_files) > num_images else 0
          show_files = sorted(image_files, key=os.path.getctime)[start_idx:]
          dropped_files = list()
          for fname in show_files:
              try:
 
</s> remove         dropped_files = list()
 </s> add         dropped_files = [] </s> remove         retval = dict()
 </s> add         retval = {} </s> remove         self.required_packages = list()
        self.missing_packages = list()
        self.conda_missing_packages = list()
 </s> add         self.required_packages = []
        self.missing_packages = []
        self.conda_missing_packages = [] </s> remove             hrs = "{0:02d}".format(hrs)
        mins = "{0:02d}".format((int(timestamp % 3600) // 60))
        secs = "{0:02d}".format((int(timestamp % 3600) % 60))
 </s> add             hrs = f"{hrs:02d}"
        mins = f"{(int(timestamp % 3600) // 60):02d}"
        secs = f"{(int(timestamp % 3600) % 60):02d}" </s> remove                 self.stats["raw_{}".format(loss_name)] = loss
 </s> add                 self.stats[f"raw_{loss_name}"] = loss
        samples = []
          num_images = (frame_dims[0] // thumbnail_size) * (frame_dims[1] // thumbnail_size)
          logger.debug("num_images: %s", num_images)
          if num_images == 0:
              return False
        samples = []
          start_idx = len(image_files) - num_images if len(image_files) > num_images else 0
          show_files = sorted(image_files, key=os.path.getctime)[start_idx:]
          dropped_files = list()
          for fname in show_files:
              try:
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/utils.py