              The inputs to the model for each side A and B
          model_targets: list
              The targets for the model for each side A and B
          """
          model_inputs: List[List[np.ndarray]] = []
          model_targets: List[List[np.ndarray]] = []
          for side in ("a", "b"):
              side_feed, side_targets = next(self._feeds[side])
              if self._model.config["learn_mask"]:  # Add the face mask as it's own target
                  side_targets += [side_targets[-1][..., 3][..., None]]
              logger.trace("side: %s, input_shapes: %s, target_shapes: %s",  # type: ignore
 
</s> remove         if get_backend() == "amd":  # Expand out AMD inputs + targets
            model_inputs = [inp for side in model_inputs for inp in side]  # type: ignore
            model_targets = [tgt for side in model_targets for tgt in side]  # type: ignore
 </s> add  </s> remove         if self._model.config["learn_mask"] and get_backend() == "amd":
            # Ravel results for plaidml
            split = len(standard) // 2
            standard = [standard[:split], standard[split:]]
            swapped = [swapped[:split], swapped[split:]]

 </s> add  </s> remove             loss: List[float] = self._model.model.train_on_batch(model_inputs, y=model_targets)
 </s> add             loss: T.List[float] = self._model.model.train_on_batch(model_inputs, y=model_targets) </s> remove         return KerasModel(input_, var_x, name="encoder")
 </s> add         return KModel(input_, var_x, name="encoder")
 </s> remove                  input_shapes: Union[list, tuple],
 </s> add                  input_shapes: T.Union[list, tuple],
        model_inputs: T.List[T.List[np.ndarray]] = []
        model_targets: T.List[T.List[np.ndarray]] = []
              The inputs to the model for each side A and B
          model_targets: list
              The targets for the model for each side A and B
          """
        model_inputs: T.List[T.List[np.ndarray]] = []
        model_targets: T.List[T.List[np.ndarray]] = []
        model_inputs: T.List[T.List[np.ndarray]] = []
        model_targets: T.List[T.List[np.ndarray]] = []
          for side in ("a", "b"):
              side_feed, side_targets = next(self._feeds[side])
              if self._model.config["learn_mask"]:  # Add the face mask as it's own target
                  side_targets += [side_targets[-1][..., 3][..., None]]
              logger.trace("side: %s, input_shapes: %s, target_shapes: %s",  # type: ignore
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/trainer/_base.py