          """
          vram_buffer = 256  # Leave a buffer for VRAM allocation
          gpu_stats = GPUStats()
          stats = gpu_stats.get_card_most_free()
          retval = dict(count=gpu_stats.device_count,
                        device=stats["device"],
                        vram_free=int(stats["free"] - vram_buffer),
                        vram_total=int(stats["total"]))
          logger.debug(retval)
          return retval
  
      def _set_parallel_processing(self, multiprocess):
          """ Set whether to run detect, align, and mask together or separately.
 
</s> remove     def _set_parallel_processing(self, multiprocess):
 </s> add     def _set_parallel_processing(self, multiprocess: bool) -> bool: </s> remove         logger.trace(retval)
 </s> add         logger.trace(retval)  # type: ignore </s> remove         logger.trace(retval)
 </s> add         logger.trace(retval)  # type: ignore </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 _current_phase(self):
 </s> add     def _current_phase(self) -> List[str]:
        retval: Dict[str, Union[int, str]] = dict(count=gpu_stats.device_count,
                                                  device=stats["device"],
                                                  vram_free=int(stats["free"] - vram_buffer),
                                                  vram_total=int(stats["total"]))
          """
          vram_buffer = 256  # Leave a buffer for VRAM allocation
          gpu_stats = GPUStats()
          stats = gpu_stats.get_card_most_free()
        retval: Dict[str, Union[int, str]] = dict(count=gpu_stats.device_count,
                                                  device=stats["device"],
                                                  vram_free=int(stats["free"] - vram_buffer),
                                                  vram_total=int(stats["total"]))
        retval: Dict[str, Union[int, str]] = dict(count=gpu_stats.device_count,
                                                  device=stats["device"],
                                                  vram_free=int(stats["free"] - vram_buffer),
                                                  vram_total=int(stats["total"]))
        retval: Dict[str, Union[int, str]] = dict(count=gpu_stats.device_count,
                                                  device=stats["device"],
                                                  vram_free=int(stats["free"] - vram_buffer),
                                                  vram_total=int(stats["total"]))
        retval: Dict[str, Union[int, str]] = dict(count=gpu_stats.device_count,
                                                  device=stats["device"],
                                                  vram_free=int(stats["free"] - vram_buffer),
                                                  vram_total=int(stats["total"]))
          logger.debug(retval)
          return retval
  
      def _set_parallel_processing(self, multiprocess):
          """ Set whether to run detect, align, and mask together or separately.
keep keep keep keep replace replace replace replace keep keep keep keep keep
 extract: Add batch processing mode 
plugins/extract/pipeline.py