          -------
          :class:`keras.models.Model`
              The loaded Keras Model with the dropout rates updated
          """
          dropouts = dict(fc=self.config["fc_dropout"],
                          gblock=self.config["fc_gblock_dropout"])
          logger.debug("Config dropouts: %s", dropouts)
          updated = False
          for mod in get_all_sub_models(model):
              if not mod.name.startswith("fc_"):
                  continue
 
</s> remove         if get_backend() == "amd":  # Mixed precision not supported on amd
            return model

 </s> add  </s> remove             The output of this function must be a keras model generated from
            :class:`plugins.train.model._base.KerasModel`. See Keras documentation for the correct
            structure, but note that parameter :attr:`name` is a required rather than an optional
            argument in Faceswap. You should assign this to the attribute ``self.name`` that is
            automatically generated from the plugin's filename.
 </s> add             The generated model </s> remove             The output of this function must be a keras model generated from
            :class:`plugins.train.model._base.KerasModel`. See Keras documentation for the correct
 </s> add             See Keras documentation for the correct
 </s> remove         inputs = Input(self._input_shape)
        var_x = Conv2D(64, 3, strides=2, activation="relu", name="features.0")(inputs)
 </s> add         inputs = layers.Input(self._input_shape)
        var_x = layers.Conv2D(64, 3, strides=2, activation="relu", name="features.0")(inputs) </s> remove _CONFIG: Dict[str, "ConfigValueType"] = {}


def KerasModel(inputs: list, outputs: list, name: str) -> keras.models.Model:  # noqa, pylint:disable=invalid-name
    """ wrapper for :class:`keras.models.Model`.

    There are some minor foibles between Keras 2.2 and the Tensorflow version of Keras, so this
    catches potential issues and fixes prior to returning the requested model.

    All models created within plugins should use this method, and should not call keras directly
    for a model.

    Parameters
    ----------
    inputs: a keras.Input object or list of keras.Input objects.
        The input(s) of the model
    outputs: keras objects
        The output(s) of the model.
    name: str
        The name of the model.

    Returns
    -------
    :class:`keras.models.Model`
        A Keras Model
    """
    if get_backend() == "amd":
        logger.debug("Flattening inputs (%s) and outputs (%s) for AMD", inputs, outputs)
        inputs = np.array(inputs).flatten().tolist()
        outputs = np.array(outputs).flatten().tolist()
        logger.debug("Flattened inputs (%s) and outputs (%s)", inputs, outputs)
    return KModel(inputs, outputs, name=name)
 </s> add _CONFIG: T.Dict[str, ConfigValueType] = {}
        dropouts = {"fc": self.config["fc_dropout"],
                    "gblock": self.config["fc_gblock_dropout"]}
          -------
          :class:`keras.models.Model`
              The loaded Keras Model with the dropout rates updated
          """
        dropouts = {"fc": self.config["fc_dropout"],
                    "gblock": self.config["fc_gblock_dropout"]}
        dropouts = {"fc": self.config["fc_dropout"],
                    "gblock": self.config["fc_gblock_dropout"]}
          logger.debug("Config dropouts: %s", dropouts)
          updated = False
          for mod in get_all_sub_models(model):
              if not mod.name.startswith("fc_"):
                  continue
keep keep keep keep replace replace keep keep keep keep keep
 Remove plaidML support (#1325)

* Remove PlaidML reference from readme files

* Remove AMD option from installers

* remove amd requirements and update setup.py

* remove plaidml test from CI workflow

* gpustats: remove plaidml backend

* plaid removals:
  - faceswap.py - python version check
  - setup.cfg - plaidml typing ignore
  - lib.keras_utils - All plaid code
  - lib.launcher.py - All plaidml checks and configuration

* remove tf2.2 specific code from GUI event reader

* lib.model - remove all plaidml implementations

* plugins.extract - remove plaidml code

* plugins.train remove plaidml code

* lib.convert - remove plaidml code

* tools.model: remove plaidml code

* Remove plaidML tests from unit tests

* remove plaidml_utils and docsting cleanups

* Remove plaidML refs from configs

* fix keras imports 
plugins/train/model/phaze_a.py