          """
          size = self._args.size if hasattr(self._args, "size") else 256
          saver = ImagesSaver(self._output_dir, as_bytes=True)
          exception = False
          phase_desc = "Extraction"
  
          for phase in range(self._extractor.passes):
              if exception:
                  break
              is_final = self._extractor.final_pass
 
</s> remove             if self._args.singleprocess:
                phase_desc = self._extractor.phase.title()
 </s> add             ph_desc = "Extraction" if self._extractor.passes == 1 else self._extractor.phase_text </s> remove     def _total_vram_required(self):
        """ Return vram required for all phases plus the buffer """
        vrams = dict()
 </s> add     def _vram_per_phase(self):
        """ dict: The amount of vram required for each phase in :attr:`_flow`. """
        retval = dict() </s> remove             vrams[phase] = attr.vram
 </s> add             retval[phase] = attr.vram
        logger.trace(retval)
        return retval

    @property
    def _total_vram_required(self):
        """ Return vram required for all phases plus the buffer """
        vrams = self._vram_per_phase </s> remove                                                       phase_desc)
 </s> add                                                       ph_desc) </s> remove         retval = 1 if self._is_parallel else len(self._flow)
 </s> add         retval = len(self._phases)
        logger.trace(retval)
        return retval

    @property
    def phase_text(self):
        """ str: The plugins that are running in the current phase, formatted for info text
        output. """
        plugin_types = set(self._get_plugin_type_and_index(phase)[0]
                           for phase in self._current_phase)
        retval = ", ".join(plugin_type.title() for plugin_type in list(plugin_types))
          """
          size = self._args.size if hasattr(self._args, "size") else 256
          saver = ImagesSaver(self._output_dir, as_bytes=True)
          exception = False

  
          for phase in range(self._extractor.passes):
              if exception:
                  break
              is_final = self._extractor.final_pass
keep keep keep keep replace keep keep keep keep keep
 Extract - Better VRAM Allocation in Extraction Pipeline 
scripts/extract.py