Buckets:
| # Блоки конвейера | |
| ## ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]] | |
| #### diffusers.ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]] | |
| ```python | |
| diffusers.ModularPipelineBlocks() | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L392) | |
| Базовый класс для всех блоков конвейера: ConditionalPipelineBlocks, AutoPipelineBlocks, SequentialPipelineBlocks, LoopSequentialPipelineBlocks | |
| [ModularPipelineBlocks](/docs/diffusers/main/ru/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks) предоставляет метод для загрузки и сохранения определения блоков конвейера. | |
| #### get_block_state[[diffusers.ModularPipelineBlocks.get_block_state]] | |
| ```python | |
| get_block_state(state: PipelineState) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L590) | |
| Получите все входные данные и промежуточные результаты в одном словаре | |
| #### get_execution_blocks[[diffusers.ModularPipelineBlocks.get_execution_blocks]] | |
| ```python | |
| get_execution_blocks(**kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L461) | |
| **Параметры:** | |
| - ****kwargs** : Имена и значения входных параметров. На выбор блока влияют только входные параметры триггера. | |
| Получает блок(и), которые будут выполнены при заданных входных данных. Должен быть реализован в подклассах, поддерживающих условный выбор блоков. | |
| #### get_workflow[[diffusers.ModularPipelineBlocks.get_workflow]] | |
| ```python | |
| get_workflow(workflow_name: str) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L479) | |
| **Параметры:** | |
| workflow_name : Имя рабочего процесса для получения. | |
| Получает блоки выполнения для конкретного рабочего процесса. Должен быть реализован в подклассах, определяющих `_workflow_map`. | |
| #### init_pipeline[[diffusers.ModularPipelineBlocks.init_pipeline]] | |
| ```python | |
| 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) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L568) | |
| создайте ModularPipeline, при необходимости принимая pretrained_model_name_or_path для загрузки из хабa. | |
| ## SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]] | |
| #### diffusers.SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]] | |
| ```python | |
| diffusers.SequentialPipelineBlocks() | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1044) | |
| **Параметры:** | |
| block_classes : список классов блоков, которые будут использоваться | |
| block_names : список префиксов для каждого блока | |
| A Pipeline Blocks, объединяющий несколько классов блоков конвейера в один. При вызове последовательно вызывает каждый блок. | |
| Этот класс наследуется от [ModularPipelineBlocks](/docs/diffusers/main/ru/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks). См. документацию родительского класса для общих методов, которые библиотека реализует для всех блоков конвейера (например, загрузка или сохранение и т. д.) | |
| #### from_blocks_dict[[diffusers.SequentialPipelineBlocks.from_blocks_dict]] | |
| ```python | |
| from_blocks_dict(blocks_dict: dict[str, typing.Any], description: str | None = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1116) | |
| **Параметры:** | |
| blocks_dict : словарь, сопоставляющий имена блоков с классами или экземплярами блоков | |
| **Возвращает:** | |
| Новый экземпляр SequentialPipelineBlocks | |
| Создаёт экземпляр SequentialPipelineBlocks из словаря блоков. | |
| #### get_execution_blocks[[diffusers.SequentialPipelineBlocks.get_execution_blocks]] | |
| ```python | |
| get_execution_blocks(**kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1259) | |
| **Параметры:** | |
| - ****kwargs** : Имена и значения входных параметров. На выбор блока влияют только входные параметры триггера. | |
| **Возвращает:** | |
| SequentialPipelineBlocks, содержащие только блоки, которые будут выполнены | |
| Получите блоки, которые будут выполнены при заданных входных данных. | |
| По мере того как обход проходит последовательные блоки, промежуточные выходные данные из разрешённых блоков добавляются к активным входным данным. Это означает, что условные блоки, зависящие от промежуточных значений (например, «запустить img2img, если image_latents присутствует»), будут разрешены корректно, при условии, что условие основано на наличии/отсутствии (None или не None), а не на фактическом значении. | |
| ## LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]] | |
| #### diffusers.LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]] | |
| ```python | |
| diffusers.LoopSequentialPipelineBlocks() | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1404) | |
| **Параметры:** | |
| 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](/docs/diffusers/main/ru/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks). См. документацию родительского класса для общих методов, которые библиотека реализует для всех блоков конвейера (например, загрузка или сохранение и т. д.) | |
| #### from_blocks_dict[[diffusers.LoopSequentialPipelineBlocks.from_blocks_dict]] | |
| ```python | |
| from_blocks_dict(blocks_dict: dict[str, typing.Any]) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1565) | |
| **Параметры:** | |
| blocks_dict : словарь, сопоставляющий имена блоков с экземплярами блоков | |
| **Возвращает:** | |
| Новый экземпляр LoopSequentialPipelineBlocks | |
| Создаёт экземпляр LoopSequentialPipelineBlocks из словаря блоков. | |
| ## AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]] | |
| #### diffusers.AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]] | |
| ```python | |
| diffusers.AutoPipelineBlocks() | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L983) | |
| **Параметры:** | |
| 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`, чтобы указать блок по умолчанию, то есть блок, который будет выполнен, если входные данные для запуска отсутствуют | |
| Пример: | |
| ```python | |
| 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]] | |
| ```python | |
| select_block(**kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1036) | |
| Выберите блок на основе того, какой входной триггер присутствует (не равен None). | |
| ## ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]] | |
| #### diffusers.ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]] | |
| ```python | |
| diffusers.ConditionalPipelineBlocks() | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L684) | |
| **Параметры:** | |
| 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](/docs/diffusers/main/ru/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks). См. документацию родительского класса для общих методов, которые библиотека реализует для всех блоков конвейера (например, загрузка или сохранение и т. д.) | |
| #### get_execution_blocks[[diffusers.ConditionalPipelineBlocks.get_execution_blocks]] | |
| ```python | |
| get_execution_blocks(**kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L874) | |
| **Параметры:** | |
| - ****kwargs** : Имена и значения входных параметров. На выбор блока влияют только входные параметры триггера. | |
| **Возвращает:** - `ModularPipelineBlocks` | |
| Листовой блок или разрешённый `SequentialPipelineBlocks` | |
| - `None`: если этот блок будет пропущен (не сработал ни один триггер и нет значения по умолчанию) | |
| Получите блок(и), которые будут выполнены при заданных входных данных. | |
| Рекурсивно разрешает вложенные ConditionalPipelineBlocks, пока не достигнет одного из следующих: | |
| - Листовой блок (без sub_blocks или LoopSequentialPipelineBlocks) → возвращает один `ModularPipelineBlocks` | |
| - `SequentialPipelineBlocks` → делегирует вызов своему `get_execution_blocks()`, который возвращает | |
| a `SequentialPipelineBlocks`, содержащий разрешённые блоки выполнения | |
| #### select_block[[diffusers.ConditionalPipelineBlocks.select_block]] | |
| ```python | |
| select_block(**kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L830) | |
| **Параметры:** | |
| - ****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.