  
  from lib.model import nn_blocks
  from lib.utils import get_backend
  
  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
  
  
  def block_test(layer_func, kwargs={}, input_shape=None):
      """Test routine for faceswap neural network blocks.
  
      Tests are simple and are to ensure that the blocks compile on both tensorflow
 
</s> remove from lib.utils import get_backend

if get_backend() == "amd":
    import keras
    from keras import backend as K
else:
    # Ignore linting errors from Tensorflow's thoroughly broken import system
    from tensorflow import keras
    from tensorflow.keras import backend as K  # pylint:disable=import-error
 </s> add # Ignore linting errors from Tensorflow's thoroughly broken import system
from tensorflow import keras
from tensorflow.keras import backend as K  # pylint:disable=import-error </s> remove if get_backend() == "amd":
    import keras
    from keras import backend as K
    from keras.layers import Concatenate, Conv2D, Input, Maximum, MaxPooling2D, ZeroPadding2D
    from plaidml.tile import Value as Tensor  # pylint:disable=import-error
else:
    # Ignore linting errors from Tensorflow's thoroughly broken import system
    from tensorflow import keras
    from tensorflow.keras import backend as K  # pylint:disable=import-error
    from tensorflow.keras.layers import (  # pylint:disable=no-name-in-module,import-error
        Concatenate, Conv2D, Input, Maximum, MaxPooling2D, ZeroPadding2D)
 </s> add if T.TYPE_CHECKING: </s> remove if get_backend() == "amd":
    import keras
    from keras import losses as k_losses
    from keras import backend as K
    import tensorflow.keras.mixed_precision.experimental as mixedprecision  # noqa pylint:disable=import-error,no-name-in-module,ungrouped-imports
else:
    # Ignore linting errors from Tensorflow's thoroughly broken import system
    from tensorflow import keras
    from tensorflow.keras import losses as k_losses  # pylint:disable=import-error
    from tensorflow.keras import backend as K  # pylint:disable=import-error
    import tensorflow.keras.mixed_precision as mixedprecision  # noqa pylint:disable=import-error,no-name-in-module
    from lib.model.autoclip import AutoClipper  # pylint:disable=ungrouped-imports


 </s> add  </s> remove from lib.model import losses
from lib.utils import get_backend
 </s> add # Ignore linting errors from Tensorflow's thoroughly broken import system
from tensorflow.keras import backend as K, losses as k_losses  # noqa:E501  # pylint:disable=import-error
  
  from lib.model import nn_blocks
  from lib.utils import get_backend
  






  
  def block_test(layer_func, kwargs={}, input_shape=None):
      """Test routine for faceswap neural network blocks.
  
      Tests are simple and are to ensure that the blocks compile on both tensorflow
keep keep keep keep replace replace replace replace 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 
tests/lib/model/nn_blocks_test.py