  
  
  @pytest.mark.parametrize('dummy', [None], ids=[get_backend().upper()])
  def test_keras(dummy):  # pylint:disable=unused-argument
      """ Sanity check to ensure that tensorflow keras is being used for CPU and standard
      keras for AMD. """
      assert ((_BACKEND in ("cpu", "directml")
               and keras.__version__ in ("2.7.0", "2.8.0", "2.9.0", "2.10.0"))
              or (_BACKEND == "amd" and keras.__version__ == "2.2.4"))
 
</s> remove     assert ((_BACKEND in ("cpu", "directml") and lib == "tensorflow")
            or (_BACKEND == "amd" and lib == "plaidml"))
 </s> add     assert _BACKEND in ("cpu", "directml") and lib == "tensorflow" </s> remove if get_backend() == "amd":
    from keras import Input, Model, backend as K
else:
    # Ignore linting errors from Tensorflow's thoroughly broken import system
    from tensorflow.keras import Input, Model, backend as K  # pylint:disable=import-error

 </s> add  </s> remove     def _get_inputs(self) -> List[keras.layers.Input]:
 </s> add     def _get_inputs(self) -> T.List[tf.keras.layers.Input]: </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             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.
    """ Sanity check to ensure that tensorflow keras is being used for CPU """
    assert (_BACKEND in ("cpu", "directml")
            and keras.__version__ in ("2.7.0", "2.8.0", "2.9.0", "2.10.0"))
  
  
  @pytest.mark.parametrize('dummy', [None], ids=[get_backend().upper()])
  def test_keras(dummy):  # pylint:disable=unused-argument
    """ Sanity check to ensure that tensorflow keras is being used for CPU """
    assert (_BACKEND in ("cpu", "directml")
            and keras.__version__ in ("2.7.0", "2.8.0", "2.9.0", "2.10.0"))
    """ Sanity check to ensure that tensorflow keras is being used for CPU """
    assert (_BACKEND in ("cpu", "directml")
            and keras.__version__ in ("2.7.0", "2.8.0", "2.9.0", "2.10.0"))
    """ Sanity check to ensure that tensorflow keras is being used for CPU """
    assert (_BACKEND in ("cpu", "directml")
            and keras.__version__ in ("2.7.0", "2.8.0", "2.9.0", "2.10.0"))
    """ Sanity check to ensure that tensorflow keras is being used for CPU """
    assert (_BACKEND in ("cpu", "directml")
            and keras.__version__ in ("2.7.0", "2.8.0", "2.9.0", "2.10.0"))
    """ Sanity check to ensure that tensorflow keras is being used for CPU """
    assert (_BACKEND in ("cpu", "directml")
            and keras.__version__ in ("2.7.0", "2.8.0", "2.9.0", "2.10.0"))
keep keep keep keep replace replace replace replace replace
 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 
tests/startup_test.py