  
      def process_input(self, batch: BatchType) -> None:
          """ Compile the detected faces for prediction """
          assert isinstance(batch, MaskerBatch)
          input_ = np.array([cast(np.ndarray, feed.face)[..., :3]
                             for feed in batch.feed_faces], dtype="float32")
          batch.feed = input_ - np.mean(input_, axis=(1, 2))[:, None, None, :]
          logger.trace("feed shape: %s", batch.feed.shape)  # type: ignore
  
      def predict(self, feed: np.ndarray) -> np.ndarray:
 
</s> remove         input_ = [cast(np.ndarray, feed.face)[..., :3] for feed in batch.feed_faces]
 </s> add         input_ = [T.cast(np.ndarray, feed.face)[..., :3] for feed in batch.feed_faces] </s> remove         batch.feed = ((np.array([cast(np.ndarray, feed.face)[..., :3]
 </s> add         batch.feed = ((np.array([T.cast(np.ndarray, feed.face)[..., :3] </s> remove     def _queue_out_frames(self, batch: List[ConvertItem], swapped_faces: np.ndarray) -> None:
 </s> add     def _queue_out_frames(self, batch: T.List[ConvertItem], swapped_faces: np.ndarray) -> None: </s> remove         retval = np.stack([cast(np.ndarray, feed_face.face)[..., :3]
 </s> add         retval = np.stack([T.cast(np.ndarray, feed_face.face)[..., :3] </s> remove     def _get_detected_faces(self, filename: str, image: np.ndarray) -> List[DetectedFace]:
 </s> add     def _get_detected_faces(self, filename: str, image: np.ndarray) -> T.List[DetectedFace]:
        input_ = np.array([T.cast(np.ndarray, feed.face)[..., :3]
  
      def process_input(self, batch: BatchType) -> None:
          """ Compile the detected faces for prediction """
          assert isinstance(batch, MaskerBatch)
        input_ = np.array([T.cast(np.ndarray, feed.face)[..., :3]
                             for feed in batch.feed_faces], dtype="float32")
          batch.feed = input_ - np.mean(input_, axis=(1, 2))[:, None, None, :]
          logger.trace("feed shape: %s", batch.feed.shape)  # type: ignore
  
      def predict(self, feed: np.ndarray) -> np.ndarray:
keep keep keep keep 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/extract/mask/vgg_clear.py