          >>>         <do intermediate processing>
          >>>         extractor.input_queue.put(extract_media)
          """
          retval = self._phase_index == len(self._phases) - 1
          logger.trace(retval)
          return retval
  
      def set_batchsize(self, plugin_type, batchsize):
          """ Set the batch size of a given :attr:`plugin_type` to the given :attr:`batchsize`.
  
 
</s> remove     def set_batchsize(self, plugin_type, batchsize):
 </s> add     def reset_phase_index(self) -> None:
        """ Reset the current phase index back to 0. Used for when batch processing is used in
        extract. """
        self._phase_index = 0

    def set_batchsize(self,
                      plugin_type: Literal["align", "detect"],
                      batchsize: int) -> None: </s> remove         logger.trace(retval)
 </s> add         logger.trace(retval)  # type: ignore </s> remove     def _set_plugin_batchsize(self, gpu_plugins, available_vram):
 </s> add     def _set_plugin_batchsize(self, gpu_plugins: List[str], available_vram: float) -> None: </s> remove     def _final_phase(self):
 </s> add     def _final_phase(self) -> str:
        logger.trace(retval)  # type: ignore
          >>>         <do intermediate processing>
          >>>         extractor.input_queue.put(extract_media)
          """
          retval = self._phase_index == len(self._phases) - 1
        logger.trace(retval)  # type: ignore
          return retval
  
      def set_batchsize(self, plugin_type, batchsize):
          """ Set the batch size of a given :attr:`plugin_type` to the given :attr:`batchsize`.
  
keep keep keep keep replace keep keep keep keep keep
 extract: Add batch processing mode 
plugins/extract/pipeline.py