                  continue
              should_filter.append(self._get_matches(f_type, identities))
  
          # If any of the filter or nfilter evaluate to 'should filter' then filter out face
          final_filter: List[bool] = np.array(should_filter).max(axis=0).tolist()
          logger.trace("should_filter: %s, final_filter: %s",  # type: ignore
                       should_filter, final_filter)
          return self._filter_faces(faces, sub_folders, final_filter)
  
      def output_counts(self):
 
</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]: </s> remove         model_inputs: List[List[np.ndarray]] = []
        model_targets: List[List[np.ndarray]] = []
 </s> add         model_inputs: T.List[T.List[np.ndarray]] = []
        model_targets: T.List[T.List[np.ndarray]] = [] </s> remove     def _print_loss(self, loss: List[float]) -> None:
 </s> add     def _print_loss(self, loss: T.List[float]) -> None: </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             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)
        final_filter: T.List[bool] = np.array(should_filter).max(axis=0).tolist()
                  continue
              should_filter.append(self._get_matches(f_type, identities))
  
          # If any of the filter or nfilter evaluate to 'should filter' then filter out face
        final_filter: T.List[bool] = np.array(should_filter).max(axis=0).tolist()
          logger.trace("should_filter: %s, final_filter: %s",  # type: ignore
                       should_filter, final_filter)
          return self._filter_faces(faces, sub_folders, final_filter)
  
      def output_counts(self):
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/recognition/_base.py