Buckets:

mishig's picture
|
download
raw
17.1 kB

Блоки конвейера

ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]

diffusers.ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]

diffusers.ModularPipelineBlocks()

Источник

Базовый класс для всех блоков конвейера: ConditionalPipelineBlocks, AutoPipelineBlocks, SequentialPipelineBlocks, LoopSequentialPipelineBlocks

ModularPipelineBlocks предоставляет метод для загрузки и сохранения определения блоков конвейера.

get_block_state[[diffusers.ModularPipelineBlocks.get_block_state]]

get_block_state(state: PipelineState)

Источник

Получите все входные данные и промежуточные результаты в одном словаре

get_execution_blocks[[diffusers.ModularPipelineBlocks.get_execution_blocks]]

get_execution_blocks(**kwargs)

Источник

Параметры:

  • **kwargs : Имена и значения входных параметров. На выбор блока влияют только входные параметры триггера.

Получает блок(и), которые будут выполнены при заданных входных данных. Должен быть реализован в подклассах, поддерживающих условный выбор блоков.

get_workflow[[diffusers.ModularPipelineBlocks.get_workflow]]

get_workflow(workflow_name: str)

Источник

Параметры:

workflow_name : Имя рабочего процесса для получения.

Получает блоки выполнения для конкретного рабочего процесса. Должен быть реализован в подклассах, определяющих _workflow_map.

init_pipeline[[diffusers.ModularPipelineBlocks.init_pipeline]]

init_pipeline(pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None)

Источник

создайте ModularPipeline, при необходимости принимая pretrained_model_name_or_path для загрузки из хабa.

SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]

diffusers.SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]

diffusers.SequentialPipelineBlocks()

Источник

Параметры:

block_classes : список классов блоков, которые будут использоваться

block_names : список префиксов для каждого блока

A Pipeline Blocks, объединяющий несколько классов блоков конвейера в один. При вызове последовательно вызывает каждый блок.

Этот класс наследуется от ModularPipelineBlocks. См. документацию родительского класса для общих методов, которые библиотека реализует для всех блоков конвейера (например, загрузка или сохранение и т. д.)

from_blocks_dict[[diffusers.SequentialPipelineBlocks.from_blocks_dict]]

from_blocks_dict(blocks_dict: dict[str, typing.Any], description: str | None = None)

Источник

Параметры:

blocks_dict : словарь, сопоставляющий имена блоков с классами или экземплярами блоков

Возвращает:

Новый экземпляр SequentialPipelineBlocks

Создаёт экземпляр SequentialPipelineBlocks из словаря блоков.

get_execution_blocks[[diffusers.SequentialPipelineBlocks.get_execution_blocks]]

get_execution_blocks(**kwargs)

Источник

Параметры:

  • **kwargs : Имена и значения входных параметров. На выбор блока влияют только входные параметры триггера.

Возвращает:

SequentialPipelineBlocks, содержащие только блоки, которые будут выполнены

Получите блоки, которые будут выполнены при заданных входных данных.

По мере того как обход проходит последовательные блоки, промежуточные выходные данные из разрешённых блоков добавляются к активным входным данным. Это означает, что условные блоки, зависящие от промежуточных значений (например, «запустить img2img, если image_latents присутствует»), будут разрешены корректно, при условии, что условие основано на наличии/отсутствии (None или не None), а не на фактическом значении.

LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]

diffusers.LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]

diffusers.LoopSequentialPipelineBlocks()

Источник

Параметры:

block_classes : список классов блоков, которые будут использоваться

block_names : список префиксов для каждого блока

A Pipeline blocks that combines multiple pipeline block classes into a For Loop. When called, it will call each block in sequence.

Этот класс наследуется от ModularPipelineBlocks. См. документацию родительского класса для общих методов, которые библиотека реализует для всех блоков конвейера (например, загрузка или сохранение и т. д.)

from_blocks_dict[[diffusers.LoopSequentialPipelineBlocks.from_blocks_dict]]

from_blocks_dict(blocks_dict: dict[str, typing.Any])

Источник

Параметры:

blocks_dict : словарь, сопоставляющий имена блоков с экземплярами блоков

Возвращает:

Новый экземпляр LoopSequentialPipelineBlocks

Создаёт экземпляр LoopSequentialPipelineBlocks из словаря блоков.

AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]

diffusers.AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]

diffusers.AutoPipelineBlocks()

Источник

Параметры:

block_classes : Список классов блоков, которые будут использоваться. Должен иметь ту же длину, что и block_names и block_trigger_inputs.

block_names : список имён для каждого блока. Должен иметь ту же длину, что и block_classes и block_trigger_inputs.

block_trigger_inputs : Список имён входных параметров, где каждый элемент указывает входной параметр-триггер для соответствующего блока. Используйте None, чтобы обозначить блок по умолчанию.

A Pipeline — блок, который автоматически выбирает блок для выполнения на основе наличия входных триггеров.

Это специализированная версия ConditionalPipelineBlocks, в которой:

  • Каждый блок имеет один соответствующий вход-триггер (соответствие 1:1)
  • Выбор блока выполняется автоматически: выбирается первый блок, у которого присутствует входной сигнал запуска
  • block_trigger_inputs должен иметь ту же длину, что и block_names и block_classes
  • Используйте None в block_trigger_inputs, чтобы указать блок по умолчанию, то есть блок, который будет выполнен, если входные данные для запуска отсутствуют

Пример:

    class MyAutoBlock(AutoPipelineBlocks):
        block_classes = [InpaintEncoderBlock, ImageEncoderBlock, TextEncoderBlock]
        block_names = ["inpaint", "img2img", "text2img"]
        block_trigger_inputs = ["mask_image", "image", None]  # text2img is the default

С таким определением:

  • Пока mask_image передан, выполняется блок "inpaint" (независимо от того, передан ли image или нет)
  • Если mask_image не передан, но image передан, выполняется блок "img2img"
  • В противном случае выполняется блок "text2img" (по умолчанию, триггер — None)

select_block[[diffusers.AutoPipelineBlocks.select_block]]

select_block(**kwargs)

Источник

Выберите блок на основе того, какой входной триггер присутствует (не равен None).

ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]

diffusers.ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]

diffusers.ConditionalPipelineBlocks()

Источник

Параметры:

block_classes : список классов блоков, которые будут использоваться. Должен иметь ту же длину, что и block_names.

block_names : список имён для каждого блока. Должен иметь ту же длину, что и block_classes.

block_trigger_inputs : Список имён входных параметров, которые select_block() использует для определения блока, подлежащего выполнению. Для ConditionalPipelineBlocks они не обязаны соответствовать block_names и block_classes. Для AutoPipelineBlocks длина этого списка должна совпадать с длиной block_names и block_classes, причём каждый элемент задаёт входной параметр-триггер для соответствующего блока.

default_block_name : Имя блока по умолчанию, который выполняется, если ни один из входных триггеров не совпал. Если значение равно None, этот блок может быть полностью пропущен, если входные триггеры не предоставлены.

A Pipeline Блок, который условно выбирает блок для выполнения на основе входных данных. Подклассы должны реализовать метод select_block, чтобы определить логику выбора блока. В настоящее время поддерживается только логика выбора на основе наличия или отсутствия входных данных (то есть, являются ли они None или нет).

Этот класс наследуется от ModularPipelineBlocks. См. документацию родительского класса для общих методов, которые библиотека реализует для всех блоков конвейера (например, загрузка или сохранение и т. д.)

get_execution_blocks[[diffusers.ConditionalPipelineBlocks.get_execution_blocks]]

get_execution_blocks(**kwargs)

Источник

Параметры:

  • **kwargs : Имена и значения входных параметров. На выбор блока влияют только входные параметры триггера.

Возвращает: - ModularPipelineBlocks

Листовой блок или разрешённый SequentialPipelineBlocks

  • None: если этот блок будет пропущен (не сработал ни один триггер и нет значения по умолчанию)

Получите блок(и), которые будут выполнены при заданных входных данных.

Рекурсивно разрешает вложенные ConditionalPipelineBlocks, пока не достигнет одного из следующих:

  • Листовой блок (без sub_blocks или LoopSequentialPipelineBlocks) → возвращает один ModularPipelineBlocks
  • SequentialPipelineBlocks → делегирует вызов своему get_execution_blocks(), который возвращает a SequentialPipelineBlocks, содержащий разрешённые блоки выполнения

select_block[[diffusers.ConditionalPipelineBlocks.select_block]]

select_block(**kwargs)

Источник

Параметры:

  • **kwargs : Имена входных параметров триггера и их значения из состояния.

Возвращает: str | None

Имя блока для выполнения или None для использования значения по умолчанию/пропуска.

Выберите блок для выполнения на основе входных данных триггера. Подклассы должны реализовать этот метод, чтобы определить логику выбора блока.

Примечание: Если входные данные триггера включают промежуточные результаты предыдущих блоков, логика выбора должна зависеть только от наличия или отсутствия входного значения (то есть, является ли оно None), а не от его фактического значения. Это связано с тем, что get_execution_blocks() статически разрешает условия, распространяя имена промежуточных результатов без их значений во время выполнения.

Xet Storage Details

Size:
17.1 kB
·
Xet hash:
fe639d4afff8227ce699d112c4fb2351bee08ae2ec985d03e8830d5ab8a5d260

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.