                  self._set_plugin_batchsize(plugin, available_vram)
  
      @staticmethod
      def _set_plugin_batchsize(plugin, available_vram):
          """ Set the batch size for the given plugin based on given available vram """
          plugin.batchsize = int(max(1, available_vram // plugin.vram_per_batch))
          logger.verbose("Reset batchsize for %s to %s", plugin.name, plugin.batchsize)
  
      def _join_threads(self):
          """ Join threads for current pass """
          for plugin in self._active_plugins:
              plugin.join()
 
</s> remove             # Hacky split across 3 plugins
            available_vram = (vram_free - self._total_vram_required) // 3
 </s> add             # Hacky split across plugins that use vram
            gpu_plugin_count = sum([1 for plugin in self._all_plugins if plugin.vram != 0])
            available_vram = (vram_free - self._total_vram_required) // gpu_plugin_count </s> remove                 self._set_plugin_batchsize(plugin, available_vram)
 </s> add                 if plugin.vram != 0:
                    self._set_plugin_batchsize(plugin, available_vram) </s> remove         """ Filter in or out faces that match the hashlist
 </s> add         """ Filter in or out faces that match the hash list </s> remove             filter_out=True: Remove faces that match in the hashlist
            filter_out=False: Remove faces that are not in the hashlist
 </s> add             filter_out=True: Remove faces that match in the hash list
            filter_out=False: Remove faces that are not in the hash list
        """ Set the batch size for the given plugin based on given available vram.
        Do not update plugins which have a vram_per_batch of 0 (CPU plugins) due to
        zero division error.
        """
        if plugin.vram_per_batch != 0:
            plugin.batchsize = int(max(1, available_vram // plugin.vram_per_batch))
            logger.verbose("Reset batchsize for %s to %s", plugin.name, plugin.batchsize)
                  self._set_plugin_batchsize(plugin, available_vram)
  
      @staticmethod
      def _set_plugin_batchsize(plugin, available_vram):
        """ Set the batch size for the given plugin based on given available vram.
        Do not update plugins which have a vram_per_batch of 0 (CPU plugins) due to
        zero division error.
        """
        if plugin.vram_per_batch != 0:
            plugin.batchsize = int(max(1, available_vram // plugin.vram_per_batch))
            logger.verbose("Reset batchsize for %s to %s", plugin.name, plugin.batchsize)
        """ Set the batch size for the given plugin based on given available vram.
        Do not update plugins which have a vram_per_batch of 0 (CPU plugins) due to
        zero division error.
        """
        if plugin.vram_per_batch != 0:
            plugin.batchsize = int(max(1, available_vram // plugin.vram_per_batch))
            logger.verbose("Reset batchsize for %s to %s", plugin.name, plugin.batchsize)
        """ Set the batch size for the given plugin based on given available vram.
        Do not update plugins which have a vram_per_batch of 0 (CPU plugins) due to
        zero division error.
        """
        if plugin.vram_per_batch != 0:
            plugin.batchsize = int(max(1, available_vram // plugin.vram_per_batch))
            logger.verbose("Reset batchsize for %s to %s", plugin.name, plugin.batchsize)
  
      def _join_threads(self):
          """ Join threads for current pass """
          for plugin in self._active_plugins:
              plugin.join()
keep keep keep keep replace replace replace keep keep keep keep keep
 bugfix: plugins.extract.pipeline - Exclude CPU plugins from vram calculations 
plugins/extract/pipeline.py