          logger.debug("Queues: %s", queues)
          return queues
  
      def _set_parallel_processing(self, multiprocess):
          """ Set whether to run detect and align together or separately """
          if self._detector.vram == 0 or self._aligner.vram == 0:
              logger.debug("At least one of aligner or detector have no VRAM requirement. "
                           "Enabling parallel processing.")
              return True
  
          if not multiprocess:
              logger.debug("Parallel processing disabled by cli.")
              return False
  
 
</s> remove         """ Sets the batchsize of the requested plugins based on their vram and
            vram_per_batch_requirements if the the configured batchsize requires more
            vram than is available. Nvidia only. """
        if (self._detector.vram == 0 and self._aligner.vram == 0) or get_backend() != "nvidia":
 </s> add         """ 
        Sets the batchsize of the requested plugins based on their vram and
        vram_per_batch_requirements if the the configured batchsize requires more
        vram than is available. Nvidia only.
        """
        if (self._detector.vram == 0 and self._aligner.vram == 0 and self._masker.vram == 0
            or get_backend() != "nvidia"): </s> remove         vram_required = self._detector.vram + self._aligner.vram + self._vram_buffer
 </s> add         vram_required = (self._detector.vram +
                         self._aligner.vram +
                         self._masker.vram +
                         self._vram_buffer) </s> remove         for task in ("extract_detect_in", "extract_align_in", "extract_align_out"):
 </s> add         tasks = ["extract_detect_in", "extract_align_in", "extract_mask_in", "extract_mask_out"]
        for task in tasks: </s> remove         return self.config.get("mask_type", None) is not None
 </s> add         return self.config.get("replicate_input_mask", False) </s> remove         retval = self._is_parallel or self.phase == "align"
 </s> add         retval = self._is_parallel or self.phase == "mask"
        """ Set whether to run detect, align, and mask together or separately """
          logger.debug("Queues: %s", queues)
          return queues
  
      def _set_parallel_processing(self, multiprocess):
        """ Set whether to run detect, align, and mask together or separately """
        """ Set whether to run detect, align, and mask together or separately """
        """ Set whether to run detect, align, and mask together or separately """
        """ Set whether to run detect, align, and mask together or separately """
        """ Set whether to run detect, align, and mask together or separately """
  
          if not multiprocess:
              logger.debug("Parallel processing disabled by cli.")
              return False
  
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 Smart Mask Exposure for Extraction & Training (#831)

Smart Masks - Initial Commit 
plugins/extract/pipeline.py