Buckets:
| # Pipeline | |
| ## ModularPipeline[[diffusers.ModularPipeline]] | |
| #### diffusers.ModularPipeline[[diffusers.ModularPipeline]] | |
| ```python | |
| diffusers.ModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1700) | |
| **Параметры:** | |
| blocks : ModularPipelineBlocks, блоки, используемые в конвейере | |
| Базовый класс для всех модульных конвейеров. | |
| #### from_pretrained[[diffusers.ModularPipeline.from_pretrained]] | |
| ```python | |
| from_pretrained(pretrained_model_name_or_path: str | os.PathLike | None, trust_remote_code: bool | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, **kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1925) | |
| **Параметры:** | |
| pretrained_model_name_or_path (`str` или `os.PathLike`, необязательно) : Путь к конфигурации предобученного конвейера. Сначала будет предпринята попытка загрузить конфигурацию из `modular_model_index.json`, затем, для совместимости со стандартными немодульными репозиториями, будет использован `model_index.json`. Если pretrained_model_name_or_path не содержит конфигурации конвейера, она будет установлена в None при инициализации. | |
| trust_remote_code (`bool`, optional) : Нужно ли доверять удалённому коду при загрузке конвейера. Значение должно быть установлено в True, если вы хотите создавать блоки конвейера на основе пользовательского кода из `pretrained_model_name_or_path` | |
| components_manager (`ComponentsManager`, необязательно) : экземпляр ComponentsManager для управления несколькими компонентами в разных конвейерах и применения стратегий выгрузки. | |
| collection (`str`, optional) --` Имя коллекции для организации компонентов в ComponentsManager. | |
| workflow (`str`, optional) : Имя workflow, объявленного блоками pipeline. Если указано, блоки обрезаются до блоков выполнения этого workflow, поэтому pipeline ожидает — и `load_components()` загружает — только те компоненты, которые использует данный workflow. | |
| Загрузите ModularPipeline из репозитория на Hugging Face Hub. | |
| #### get_component_spec[[diffusers.ModularPipeline.get_component_spec]] | |
| ```python | |
| get_component_spec(name: str) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2401) | |
| **Возвращает:** | |
| - копию объекта ComponentSpec для указанного имени компонента | |
| #### load_components[[diffusers.ModularPipeline.load_components]] | |
| ```python | |
| load_components(names: list[str] | str | None = None, workflow: str | None = None, **kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2489) | |
| **Параметры:** | |
| names : list of component names to load. If None, will load all components with default_creation_method == "from_pretrained". If provided as a list or string, will load only the specified components. | |
| workflow : имя workflow, объявленного блоками pipeline. Если указано, загружаются только те компоненты, которые используются блоками выполнения этого workflow. Не может использоваться вместе с `names`. | |
| - ****kwargs** : дополнительные аргументы, передаваемые в `from_pretrained()`. Могут быть: - единым значением, применяемым ко всем загружаемым компонентам, например dtype=torch.bfloat16 - словарём, например dtype={"unet": torch.bfloat16, "default": torch.float32} - если переданы другие поля загрузки в kwargs, потенциально переопределяют ComponentSpec, например `pretrained_model_name_or_path`, `variant`, `revision` и т. д. - если переданы другие поля загрузки в kwargs, потенциально переопределяют ComponentSpec, например `pretrained_model_name_or_path`, `variant`, `revision` и т. д. | |
| Загрузите выбранные компоненты из спецификаций. | |
| #### register_components[[diffusers.ModularPipeline.register_components]] | |
| ```python | |
| register_components(**kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2186) | |
| **Параметры:** | |
| - ****kwargs** : Именованные аргументы, где ключи — это имена компонентов, а значения — объекты компонентов. Например, register_components(unet=unet_model, text_encoder=encoder_model) | |
| Зарегистрируйте компоненты с соответствующими им спецификациями. | |
| Этот метод отвечает за: | |
| 1. Устанавливает объекты компонентов в качестве атрибутов загрузчика (например, self.unet = unet) | |
| 2. Обновляет словарь конфигурации, который будет сохранён как `modular_model_index.json` во время `save_pretrained` (только для компонентов from_pretrained) | |
| 3. Добавляет компоненты в менеджер компонентов, если он подключен (только для компонентов from_pretrained) | |
| Этот метод вызывается, когда: | |
| - Компоненты сначала инициализируются в __init__: | |
| - компоненты from_pretrained не загружаются во время __init__, поэтому регистрируются как None; | |
| - компоненты, отличные от from_pretrained, создаются во время __init__ и регистрируются как сам объект | |
| - Компоненты обновляются с помощью метода `update_components()`: например, loader.update_components(unet=unet) или loader.update_components(guider=guider_spec) | |
| - (from_pretrained) Компоненты загружаются с помощью метода `load_components()`: например, loader.load_components(names=["unet"]) или loader.load_components() для загрузки всех компонентов по умолчанию | |
| Примечания: | |
| - При регистрации None для компонента атрибуту присваивается значение None, но спецификации всё равно синхронизируются со словарём конфигурации, который сохраняется как `modular_model_index.json` во время вызова `save_pretrained` | |
| - component_specs обновляются в соответствии с новым компонентом вне этого метода, например, в методе `update_components()` | |
| #### save_pretrained[[diffusers.ModularPipeline.save_pretrained]] | |
| ```python | |
| save_pretrained(save_directory: str | os.PathLike, safe_serialization: bool = True, variant: str | None = None, max_shard_size: int | str | None = None, push_to_hub: bool = False, **kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2026) | |
| **Параметры:** | |
| save_directory (`str` или `os.PathLike`) : Каталог для сохранения конвейера. Будет создан, если не существует. | |
| safe_serialization (`bool`, *необязательный*, по умолчанию `True`) : Сохранять ли модель с помощью `safetensors` или традиционным способом PyTorch с использованием `pickle`. | |
| variant (`str`, *необязательный*) : Если указано, веса сохраняются в формате `pytorch_model.<variant>.bin`. | |
| max_shard_size (`int` или `str`, по умолчанию `None`) : Максимальный размер контрольной точки перед её разбиением на части. Каждая часть контрольной точки будет иметь размер, меньший этого значения. Если значение указано в виде строки, оно должно состоять из цифр, за которыми следует единица измерения (например, `"5GB"`). Если значение указано в виде целого числа, единицей измерения являются байты. | |
| push_to_hub (`bool`, *необязательный*, по умолчанию `False`) : Нужно ли отправить пайплайн на Hugging Face model hub после его сохранения. | |
| - ****kwargs** : Дополнительные именованные аргументы: - `overwrite_modular_index` (`bool`, *необязательный*, по умолчанию `True`): следует ли обновить `modular_model_index.json` так, чтобы спецификация загрузки каждого сохраняемого компонента указывала на место назначения: `repo_id` при отправке на Hub, в противном случае `save_directory`. Компоненты, которые не загружены, не сохраняются и всегда сохраняют свои записанные спецификации загрузки. Передайте `False`, чтобы также сохранить записанные спецификации компонентов, которые сохраняются (например, для индекса, который намеренно ссылается на другие репозитории); компоненты без идентификатора загрузки (например, пользовательские модели, добавленные с помощью `update_components`) всё равно переписываются, поскольку у них нет записанного источника. - `repo_id` (`str`, *необязательный*): идентификатор репозитория, в который следует отправить конвейер. По умолчанию используется последний компонент `save_directory`. - `commit_message` (`str`, *необязательный*): сообщение коммита для операции отправки на Hub. - `private` (`bool`, *необязательный*): следует ли сделать репозиторий приватным. - `create_pr` (`bool`, *необязательный*, по умолчанию `False`): следует ли создать pull request вместо прямой отправки. - `token` (`str`, *необязательный*): токен Hugging Face для аутентификации. | |
| Сохраните конвейер и все его компоненты в каталог, чтобы его можно было загрузить снова с помощью метода класса [from_pretrained()](/docs/diffusers/main/ru/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained). | |
| #### к[[diffusers.ModularPipeline.to]] | |
| ```python | |
| to(*args, **kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2651) | |
| **Параметры:** | |
| dtype (`torch.dtype`, *необязательный*) : Возвращает конвейер с указанным [`dtype`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.dtype) | |
| device (`torch.Device`, *необязательный*) : Возвращает конвейер с указанным [`device`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.device) | |
| silence_dtype_warnings (`str`, *необязательный*, по умолчанию `False`) : Указывает, следует ли пропускать предупреждения, если целевой `dtype` несовместим с целевым `device`. | |
| **Возвращает:** [DiffusionPipeline](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline) | |
| Пайплайн преобразован в указанный `dtype` и/или `dtype`. | |
| Выполняет преобразование dtype и/или device для Pipeline. Значения torch.dtype и torch.device выводятся из аргументов `self.to(*args, **kwargs).` | |
| > [!TIP] > Если у конвейера уже есть правильные torch.dtype и torch.device, он возвращается без изменений. | |
| В противном случае > возвращаемый конвейер является копией self с требуемыми torch.dtype и torch.device. | |
| Способы вызова `to`: | |
| - `to(dtype, silence_dtype_warnings=False) → DiffusionPipeline` для возврата пайплайна с указанным [`dtype`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.dtype) | |
| - `to(device, silence_dtype_warnings=False) → DiffusionPipeline` для возврата пайплайна с указанным [`device`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.device) | |
| - `to(device=None, dtype=None, silence_dtype_warnings=False) → DiffusionPipeline` возвращает пайплайн с указанными [`device`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.device) и [`dtype`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.dtype) | |
| #### unload_components[[diffusers.ModularPipeline.unload_components]] | |
| ```python | |
| unload_components(names: list[str] | str) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2595) | |
| **Параметры:** | |
| names : имя компонента или список имён компонентов для разгрузки. | |
| Разгрузите выбранные компоненты, освободив их память. | |
| Атрибут component возвращается к значению `None`, а если подключён ComponentsManager, компонент удаляется из него. Спецификация компонента не изменяется, поэтому компонент можно снова загрузить позже с помощью `load_components()`. | |
| #### update_components[[diffusers.ModularPipeline.update_components]] | |
| ```python | |
| update_components(**kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2408) | |
| **Параметры:** | |
| - ****kwargs** : Объекты компонентов или значения конфигурации для обновления: - Объекты компонентов: Модели, загруженные с помощью `AutoModel.from_pretrained()` или `ComponentSpec.load()`, автоматически помечаются информацией о загрузке. Объекты ConfigMixin без весов (например, планировщики, гидеры) можно передавать напрямую. - Значения конфигурации: Простые значения для обновления настроек конфигурации (например, `requires_safety_checker=False`) | |
| Обновите компоненты и значения конфигурации и спецификации после того, как конвейр будет создан. | |
| Этот метод позволяет вам: | |
| 1. Замените существующие компоненты новыми (например, обновите `self.unet` или `self.text_encoder`) | |
| 2. Обновление значений конфигурации (например, изменение флага `self.requires_safety_checker`) | |
| Помимо обновления компонентов и значений конфигурации в качестве атрибутов конвейера, метод также обновляет: | |
| - соответствующие спецификации в `_component_specs` и `_config_specs` | |
| - словарь `config`, который будет сохранён как `modular_model_index.json` при вызове `save_pretrained` | |
| Примеры: | |
| ```python | |
| # Update pre-trained model | |
| pipeline.update_components(unet=new_unet_model, text_encoder=new_text_encoder) | |
| # Update configuration values | |
| pipeline.update_components(requires_safety_checker=False) | |
| ``` | |
| Примечания: | |
| - Компоненты, загруженные с помощью `AutoModel.from_pretrained()` или `ComponentSpec.load()`, будут | |
| Загруженные спецификации сохраняются для сериализации. Для пользовательских или локально загруженных компонентов без ссылок на Hub записи в `modular_model_index.json` будут автоматически обновлены во время вызова `save_pretrained()`. | |
| - Объекты ConfigMixin без весов (например, планировщики, направляющие) можно передавать напрямую. | |
Xet Storage Details
- Size:
- 19.2 kB
- Xet hash:
- fedc682448a55d7f47343666e1fffad4ab9f6925c3181a8a984f1584aa7c7aaa
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.