          """
          logger.debug("Compiling inference model. saved_model: %s", saved_model)
          struct = self._get_filtered_structure()
          model_inputs = self._get_inputs(saved_model.inputs)
          compiled_layers = dict()
          for layer in saved_model.layers:
              if layer.name not in struct:
                  logger.debug("Skipping unused layer: '%s'", layer.name)
                  continue
              inbound = struct[layer.name]
 
</s> remove             retval = KerasModel(model_inputs, model, name="{}_inference".format(saved_model.name))
 </s> add             retval = KerasModel(model_inputs, model, name=f"{saved_model.name}_inference") </s> remove         self._funcs = dict()
 </s> add         self._funcs = {} </s> remove         retval = dict()
 </s> add         retval = {} </s> remove         icons = dict()
 </s> add         icons = {} </s> remove         retval = dict()
 </s> add         retval = {}
        compiled_layers = {}
          """
          logger.debug("Compiling inference model. saved_model: %s", saved_model)
          struct = self._get_filtered_structure()
          model_inputs = self._get_inputs(saved_model.inputs)
        compiled_layers = {}
          for layer in saved_model.layers:
              if layer.name not in struct:
                  logger.debug("Skipping unused layer: '%s'", layer.name)
                  continue
              inbound = struct[layer.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 
plugins/train/model/_base.py