          logger.debug("Total VRAM required: %s", retval)
          return retval
  
      @property
      def _next_phase(self):
          """ Return the next phase from the flow list """
          retval = self._flow[self._flow.index(self.phase) + 1]
          logger.trace(retval)
          return retval
  
      @property
      def _final_phase(self):
 
</s> remove                   self._parallel_scaling[vram_required_count]) + self._vram_buffer
 </s> add                   self._parallel_scaling[vram_required_count]) </s> remove             qname = "extract_{}_in".format(self._next_phase)
 </s> add             qname = "extract_{}_in".format(self._phases[self._phase_index + 1][0]) </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)) </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         if self.passes == 1:
            retval = self._all_plugins
        else:
            retval = [getattr(self, "_{}".format(self.phase))]
 </s> add         retval = []
        for phase in self._current_phase:
            plugin_type, idx = self._get_plugin_type_and_index(phase)
            attr = getattr(self, "_{}".format(plugin_type))
            retval.append(attr[idx] if idx is not None else attr)
    def _current_phase(self):
        """ list: The current phase from :attr:`_phases` that is running through the extractor. """
        retval = self._phases[self._phase_index]
          logger.debug("Total VRAM required: %s", retval)
          return retval
  
      @property
    def _current_phase(self):
        """ list: The current phase from :attr:`_phases` that is running through the extractor. """
        retval = self._phases[self._phase_index]
    def _current_phase(self):
        """ list: The current phase from :attr:`_phases` that is running through the extractor. """
        retval = self._phases[self._phase_index]
    def _current_phase(self):
        """ list: The current phase from :attr:`_phases` that is running through the extractor. """
        retval = self._phases[self._phase_index]
          logger.trace(retval)
          return retval
  
      @property
      def _final_phase(self):
keep keep keep keep replace replace replace keep keep keep keep keep
 Extract - Better VRAM Allocation in Extraction Pipeline 
plugins/extract/pipeline.py