  
      def _load_generator(self,
                          side: Literal["a", "b"],
                          is_display: bool,
                          batch_size: Optional[int] = None,
                          images: Optional[List[str]] = None) -> DataGenerator:
          """ Load the :class:`~lib.training_data.TrainingDataGenerator` for this feeder.
  
          Parameters
          ----------
          side: ["a", "b"]
 
</s> remove         self._display_feeds = dict(preview=self._set_preview_feed(), timelapse={})
 </s> add         self._display_feeds = {"preview": self._set_preview_feed(), "timelapse": {}} </s> remove                        activation: Optional[str] = None,
                       upsamples: Optional[int] = None,
                       interpolation: Optional[str] = None) -> keras.layers.Layer:
 </s> add                        activation: T.Optional[str] = None,
                       upsamples: T.Optional[int] = None,
                       interpolation: T.Optional[str] = None) -> keras.layers.Layer: </s> remove     def _predict(self, feed_faces: np.ndarray, batch_size: Optional[int] = None) -> np.ndarray:
 </s> add     def _predict(self, feed_faces: np.ndarray, batch_size: T.Optional[int] = None) -> np.ndarray: </s> remove                        samples: List[np.ndarray],
                       predictions: List[np.ndarray]) -> List[np.ndarray]:
 </s> add                        samples: T.List[np.ndarray],
                       predictions: T.List[np.ndarray]) -> T.List[np.ndarray]: </s> remove                            images: Dict[Literal["a", "b"], List[str]],
 </s> add                            images: T.Dict[Literal["a", "b"], T.List[str]],
                        batch_size: T.Optional[int] = None,
                        images: T.Optional[T.List[str]] = None) -> DataGenerator:
  
      def _load_generator(self,
                          side: Literal["a", "b"],
                          is_display: bool,
                        batch_size: T.Optional[int] = None,
                        images: T.Optional[T.List[str]] = None) -> DataGenerator:
                        batch_size: T.Optional[int] = None,
                        images: T.Optional[T.List[str]] = None) -> DataGenerator:
          """ Load the :class:`~lib.training_data.TrainingDataGenerator` for this feeder.
  
          Parameters
          ----------
          side: ["a", "b"]
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