          else:
              next_phase = self._flow[self._flow.index(phase) + 1]
              out_qname = f"extract{self._instance}_{next_phase}_in"
          logger.debug("in_qname: %s, out_qname: %s", in_qname, out_qname)
          kwargs = dict(in_queue=self._queues[in_qname], out_queue=self._queues[out_qname])
  
          plugin_type, idx = self._get_plugin_type_and_index(phase)
          plugin = getattr(self, f"_{plugin_type}")
          plugin = plugin[idx] if idx is not None else plugin
          plugin.initialize(**kwargs)
 
</s> remove         self.input_shape: Tuple[int, ...] = ()
 </s> add         self.input_shape: T.Tuple[int, ...] = () </s> remove             if required <= available and not force_single_process:
 </s> add             if required <= available and multiprocess: </s> remove         retval: Optional[Callable[[np.ndarray],
                                  List[bytes]]] = None if test is None else self._writer.pre_encode
 </s> add         retval: T.Optional[T.Callable[[np.ndarray],
                           T.List[bytes]]] = None if test is None else self._writer.pre_encode </s> remove         inputs = Input(self._input_shape)
        var_x = Conv2D(64, 3, strides=2, activation="relu", name="features.0")(inputs)
 </s> add         inputs = layers.Input(self._input_shape)
        var_x = layers.Conv2D(64, 3, strides=2, activation="relu", name="features.0")(inputs) </s> remove         self._model: Optional[keras.models.Model] = None
 </s> add         self._model: T.Optional[tf.keras.models.Model] = None
        kwargs = {"in_queue": self._queues[in_qname], "out_queue": self._queues[out_qname]}
          else:
              next_phase = self._flow[self._flow.index(phase) + 1]
              out_qname = f"extract{self._instance}_{next_phase}_in"
          logger.debug("in_qname: %s, out_qname: %s", in_qname, out_qname)
        kwargs = {"in_queue": self._queues[in_qname], "out_queue": self._queues[out_qname]}
  
          plugin_type, idx = self._get_plugin_type_and_index(phase)
          plugin = getattr(self, f"_{plugin_type}")
          plugin = plugin[idx] if idx is not None else plugin
          plugin.initialize(**kwargs)
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/pipeline.py