                       "retval: %s", filter_type, distances.shape, is_match, retval)
          return retval
  
      def _filter_faces(self,
                        faces: List[DetectedFace],
                        sub_folders: List[Optional[str]],
                        should_filter: List[bool]) -> List[DetectedFace]:
          """ Filter the detected faces, either removing filtered faces from the list of detected
          faces or setting the output subfolder to `"_identity_filt"` for any filtered faces if
          saving output is enabled.
  
          Parameters
 
</s> remove                  faces: List[DetectedFace],
                 sub_folders: List[Optional[str]]) -> List[DetectedFace]:
 </s> add                  faces: T.List[DetectedFace],
                 sub_folders: T.List[T.Optional[str]]) -> T.List[DetectedFace]: </s> remove     def _alignments_faces(self, frame_name: str, image: np.ndarray) -> List[DetectedFace]:
 </s> add     def _alignments_faces(self, frame_name: str, image: np.ndarray) -> T.List[DetectedFace]: </s> remove     def _detect_faces(self, filename: str, image: np.ndarray) -> List[DetectedFace]:
 </s> add     def _detect_faces(self, filename: str, image: np.ndarray) -> T.List[DetectedFace]: </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     def finalize_predictions(self, bounding_boxes_scales: List[np.ndarray]) -> np.ndarray:
 </s> add     def finalize_predictions(self, bounding_boxes_scales: T.List[np.ndarray]) -> np.ndarray:
                      faces: T.List[DetectedFace],
                      sub_folders: T.List[T.Optional[str]],
                      should_filter: T.List[bool]) -> T.List[DetectedFace]:
                       "retval: %s", filter_type, distances.shape, is_match, retval)
          return retval
  
      def _filter_faces(self,
                      faces: T.List[DetectedFace],
                      sub_folders: T.List[T.Optional[str]],
                      should_filter: T.List[bool]) -> T.List[DetectedFace]:
                      faces: T.List[DetectedFace],
                      sub_folders: T.List[T.Optional[str]],
                      should_filter: T.List[bool]) -> T.List[DetectedFace]:
                      faces: T.List[DetectedFace],
                      sub_folders: T.List[T.Optional[str]],
                      should_filter: T.List[bool]) -> T.List[DetectedFace]:
          """ Filter the detected faces, either removing filtered faces from the list of detected
          faces or setting the output subfolder to `"_identity_filt"` for any filtered faces if
          saving output is enabled.
  
          Parameters
keep keep keep keep 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/extract/recognition/_base.py