  
  from .io import IO, get_all_sub_models, Weights
  from .settings import Loss, Optimizer, Settings
  
  if get_backend() == "amd":
      import keras
      from keras import backend as K
      from keras.layers import Input
      from keras.models import load_model, Model as KModel
  else:
      # Ignore linting errors from Tensorflow's thoroughly broken import system
      from tensorflow import keras  # pylint:disable=import-error
      from tensorflow.keras import backend as K  # pylint:disable=import-error
      from tensorflow.keras.layers import Input  # pylint:disable=import-error,no-name-in-module
      from tensorflow.keras.models import load_model, Model as KModel  # noqa pylint:disable=import-error,no-name-in-module
  
  if sys.version_info < (3, 8):
      from typing_extensions import Literal
  else:
      from typing import Literal
 
</s> remove if get_backend() == "amd":
    import keras
    from keras.models import load_model, Model as KModel
else:
    # Ignore linting errors from Tensorflow's thoroughly broken import system
    from tensorflow import keras  # pylint:disable=import-error,no-name-in-module
    from tensorflow.keras.models import load_model, Model as KModel  # noqa pylint:disable=import-error,no-name-in-module

if TYPE_CHECKING:
 </s> add if T.TYPE_CHECKING:
    from tensorflow import keras </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 logger = logging.getLogger(__name__)  # pylint: disable=invalid-name

if get_backend() == "amd":
    from keras import applications as kapp, backend as K
    from keras.layers import (
        Add, BatchNormalization, Concatenate, Dense, Dropout, Flatten, GaussianNoise, MaxPool2D,
        GlobalAveragePooling2D, GlobalMaxPooling2D, Input, LeakyReLU, Reshape, UpSampling2D,
        Conv2D as KConv2D)
    from keras.models import clone_model
    # typing checks
    import keras
    from plaidml.tile import Value as Tensor  # pylint:disable=import-error
else:
    # Ignore linting errors from Tensorflow's thoroughly broken import system
    from tensorflow.keras import applications as kapp, backend as K  # pylint:disable=import-error
    from tensorflow.keras.layers import (  # pylint:disable=import-error,no-name-in-module
        Add, BatchNormalization, Concatenate, Dense, Dropout, Flatten, GaussianNoise, MaxPool2D,
        GlobalAveragePooling2D, GlobalMaxPooling2D, Input, LeakyReLU, Reshape, UpSampling2D,
        Conv2D as KConv2D)
    from tensorflow.keras.models import clone_model  # noqa pylint:disable=import-error,no-name-in-module
    # typing checks
 </s> add if T.TYPE_CHECKING: </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 from typing import List, Optional, TYPE_CHECKING
 </s> add # Ignore linting errors from Tensorflow's thoroughly broken import system
from tensorflow.keras.models import load_model, Model as KModel  # noqa:E501  # pylint:disable=import-error
  
  from .io import IO, get_all_sub_models, Weights
  from .settings import Loss, Optimizer, Settings
  











  
  if sys.version_info < (3, 8):
      from typing_extensions import Literal
  else:
      from typing import Literal
keep keep keep keep replace replace replace replace replace 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 
plugins/train/model/_base/model.py