          plugin.initialize(**kwargs)
          plugin.start()
          logger.debug("Launched %s plugin", phase)
  
      def _set_extractor_batchsize(self):
          """
          Sets the batch size of the requested plugins based on their vram, their
          vram_per_batch_requirements and the number of plugins being loaded in the current phase.
          Only adjusts if the the configured batch size requires more vram than is available. Nvidia
          only.
 
</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     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         plugin_type: {'aligner', 'detector'}
 </s> add         plugin_type: {'align', 'detect'} </s> remove     def _parallel_scaling(self):
 </s> add     def _parallel_scaling(self) -> Dict[int, float]:
    def _set_extractor_batchsize(self) -> None:
          plugin.initialize(**kwargs)
          plugin.start()
          logger.debug("Launched %s plugin", phase)
  
    def _set_extractor_batchsize(self) -> None:
          """
          Sets the batch size of the requested plugins based on their vram, their
          vram_per_batch_requirements and the number of plugins being loaded in the current phase.
          Only adjusts if the the configured batch size requires more vram than is available. Nvidia
          only.
keep keep keep keep replace keep keep keep keep keep
 extract: Add batch processing mode 
plugins/extract/pipeline.py