# AutoPipeline

`AutoPipeline` предназначен для упрощения загрузки контрольной точки для задачи без необходимости знать конкретный класс пайплайна. На основе задачи `AutoPipeline` автоматически извлекает правильный класс пайплайна из файла `model_index.json` контрольной точки.

> [!TIP]
> Ознакомьтесь с учебником по [AutoPipeline](../../tutorials/autopipeline), чтобы узнать, как использовать этот API!

## AutoPipelineForText2Image[[diffusers.AutoPipelineForText2Image]]

#### diffusers.AutoPipelineForText2Image[[diffusers.AutoPipelineForText2Image]]

```python
diffusers.AutoPipelineForText2Image(*args, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L378)

[AutoPipelineForText2Image](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image) is a generic pipeline class that instantiates a text-to-image pipeline class. The specific underlying pipeline class is automatically selected from either the [from_pretrained()](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image.from_pretrained) or [from_pipe()](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image.from_pipe) methods.

Этот класс нельзя создать с помощью `__init__()` (выбрасывает ошибку).

Атрибуты класса:

- **config_name** (`str`) -- Имя файла конфигурации, в котором хранятся имена классов и модулей всех компонентов диффузионного конвейера.

#### from_pretrained[[diffusers.AutoPipelineForText2Image.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L403)

**Параметры:**

pretrained_model_or_path (`str` или `os.PathLike`, *необязательный*) : Может быть одним из:  - строка, *repo id* (например, `CompVis/ldm-text2im-large-256`) предобученного пайплайна, размещенного на Hub. - путь к *каталогу* (например, `./my_pipeline_directory/`), содержащему веса пайплайна, сохраненные с помощью [save_pretrained()](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

dtype (`torch.dtype`, *необязательный*) : Переопределяет значение по умолчанию `torch.dtype` и загружает модель с другим dtype.

force_download (`bool`, *необязательный*, по умолчанию `False`) : Указывает, следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, заменяя кэшированные версии, если они существуют.

cache_dir (`str | os.PathLike`, *необязательный*) : Путь к каталогу, в котором кэшируется конфигурация загруженной предобученной модели, если стандартный кэш не используется.

proxies (`dict[str, str]`, *необязательный*) : Словарь прокси-серверов для использования по протоколу или конечной точке, например, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Прокси используются при каждом запросе.

output_loading_info(`bool`, *необязательный*, по умолчанию `False`) : Нужно ли также возвращать словарь, содержащий отсутствующие ключи, неожиданные ключи и сообщения об ошибках.

local_files_only (`bool`, *необязательный*, по умолчанию `False`) : Загружать только локальные веса модели и файлы конфигурации или нет. Если установлено в `True`, модель не будет скачана с Hub.

token (`str` или *bool*, *необязательный*) : Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если `True`, используется токен, сгенерированный командой `diffusers-cli login` (сохранённый в `~/.huggingface`).

revision (`str`, *необязательный*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git.

custom_revision (`str`, *optional*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Это может быть имя ветки, имя тега или идентификатор коммита, аналогично `revision` при загрузке пользовательского конвейера из Hub. Это может быть версия 🤗 Diffusers при загрузке пользовательского конвейера из GitHub, в противном случае по умолчанию используется `"main"` при загрузке из Hub.

mirror (`str`, *необязательный*) : Зеркальный источник для решения проблем с доступностью при загрузке модели в Китае. Мы не гарантируем актуальность или безопасность источника, поэтому за дополнительной информацией обращайтесь на сайт зеркала.

device_map (`str` или `dict[str, int | str | torch.device]`, *необязательный*) : Карта, указывающая, на какое устройство следует поместить каждый подмодуль. Её не обязательно задавать для каждого имени параметра/буфера; как только имя модуля указано в карте, все его подмодули будут отправлены на то же устройство. Установите `device_map="auto"`, чтобы 🤗 Accelerate автоматически вычислила наиболее оптимизированную `device_map`. Подробнее о каждом варианте см. [проектирование карты устройств](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`, *необязательный*) : Словарь идентификаторов устройств для максимальной памяти. Если не задано, по умолчанию используется максимальная доступная память для каждого GPU и доступная оперативная память CPU.

offload_folder (`str` или `os.PathLike`, *необязательный*) : Путь для выгрузки весов, если device_map содержит значение `"disk"`.

offload_state_dict (`bool`, *необязательный*) : Если `True`, состояние CPU state dict временно выгружается на диск, чтобы избежать нехватки оперативной памяти CPU, если вес CPU state dict и крупнейший фрагмент контрольной точки не помещаются в неё. По умолчанию `True`, если используется выгрузка на диск.

low_cpu_mem_usage (`bool`, *необязательный*, по умолчанию `True`, если версия torch >= 1.9.0, иначе `False`) : Ускоряет загрузку модели, загружая только предобученные веса и не инициализируя их. Также это позволяет не использовать больше 1x размера модели в оперативной памяти (включая пиковое потребление) при загрузке модели. Поддерживается только для PyTorch >= 1.9.0. Если вы используете более старую версию PyTorch, установка этого аргумента в `True` вызовет ошибку.

use_safetensors (`bool`, *необязательный*, по умолчанию `None`) : Если установлено в `None`, веса safetensors загружаются, если они доступны **и** если библиотека safetensors установлена. Если установлено в `True`, модель принудительно загружается из весов safetensors. Если установлено в `False`, веса safetensors не загружаются.

kwargs (остаточный словарь аргументов с ключами, *необязательный*) : может использоваться для переопределения переменных загрузки и сохранения (компонентов конвейера конкретного класса конвейера). Переопределённые компоненты передаются непосредственно в метод `__init__` конвейера. См. пример ниже для получения дополнительной информации.

variant (`str`, *необязательный*) : Загружает веса из файла с указанным вариантом имени, например `"fp16"` или `"ema"`.

Создаёт пайплайн диффузии Pytorch для генерации изображений по тексту из предобученных весов пайплайна.

Метод from_pretrained() обеспечивает возврат экземпляра правильного класса конвейера, выполняя следующие действия:
1. Определить класс конвейера для pretrained_model_or_path на основе свойства _class_name объекта его конфигурации
2. Найдите пайплайн text-to-image, связанный с классом пайплайна, используя сопоставление по имени класса пайплайна.

Если передан аргумент `controlnet`, будет создан объект [StableDiffusionControlNetPipeline](/docs/diffusers/main/ru/api/pipelines/controlnet#diffusers.StableDiffusionControlNetPipeline).

По умолчанию пайплайн устанавливается в режим оценки (`model.eval()`).

Если вы получаете сообщение об ошибке, приведённое ниже, вам необходимо дообучить веса для вашей целевой задачи:

```
Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
```

> [!TIP] > Для использования частных или [gated](https://huggingface.co/docs/hub/models-gated#gated-models) моделей выполните вход
с помощью `hf > auth login`.

Примеры:

```py
>>> from diffusers import AutoPipelineForText2Image

>>> pipeline = AutoPipelineForText2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt).images[0]
```

#### from_pipe[[diffusers.AutoPipelineForText2Image.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L559)

**Параметры:**

pipeline (`DiffusionPipeline`) : объект `DiffusionPipeline`, созданный с помощью конструктора

Создаёт пайплайн Pytorch для генерации изображений по тексту на основе другого уже инициализированного класса пайплайна диффузии.

Метод from_pipe() обеспечивает возврат экземпляра правильного класса пайплайна, находя пайплайн text-to-image, связанный с классом пайплайна, с помощью сопоставления по имени класса пайплайна.

Все модули, содержащиеся в конвейере, будут использованы для инициализации нового конвейера без выделения дополнительной памяти.

По умолчанию пайплайн устанавливается в режим оценки (`model.eval()`).

```py
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_i2i = AutoPipelineForImage2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_t2i = AutoPipelineForText2Image.from_pipe(pipe_i2i)
>>> image = pipe_t2i(prompt).images[0]
```

## AutoPipelineForImage2Image[[diffusers.AutoPipelineForImage2Image]]

#### diffusers.AutoPipelineForImage2Image[[diffusers.AutoPipelineForImage2Image]]

```python
diffusers.AutoPipelineForImage2Image(*args, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L676)

[AutoPipelineForImage2Image](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image) is a generic pipeline class that instantiates an image-to-image pipeline class. The specific underlying pipeline class is automatically selected from either the [from_pretrained()](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image.from_pretrained) or [from_pipe()](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image.from_pipe) methods.

Этот класс нельзя создать с помощью `__init__()` (выбрасывает ошибку).

Атрибуты класса:

- **config_name** (`str`) -- Имя файла конфигурации, в котором хранятся имена классов и модулей всех компонентов диффузионного конвейера.

#### from_pretrained[[diffusers.AutoPipelineForImage2Image.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L701)

**Параметры:**

pretrained_model_or_path (`str` или `os.PathLike`, *необязательный*) : Может быть одним из:  - строка, *repo id* (например, `CompVis/ldm-text2im-large-256`) предобученного пайплайна, размещенного на Hub. - путь к *каталогу* (например, `./my_pipeline_directory/`), содержащему веса пайплайна, сохраненные с помощью [save_pretrained()](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

dtype (`str` или `torch.dtype`, *необязательный*) : Переопределяет стандартный `torch.dtype` и загружает модель с другим dtype.

force_download (`bool`, *необязательный*, по умолчанию `False`) : Указывает, следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, заменяя кэшированные версии, если они существуют.

cache_dir (`str | os.PathLike`, *необязательный*) : Путь к каталогу, в котором кэшируется конфигурация загруженной предобученной модели, если стандартный кэш не используется.

proxies (`dict[str, str]`, *необязательный*) : Словарь прокси-серверов для использования по протоколу или конечной точке, например, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Прокси используются при каждом запросе.

output_loading_info(`bool`, *необязательный*, по умолчанию `False`) : Нужно ли также возвращать словарь, содержащий отсутствующие ключи, неожиданные ключи и сообщения об ошибках.

local_files_only (`bool`, *необязательный*, по умолчанию `False`) : Загружать только локальные веса модели и файлы конфигурации или нет. Если установлено в `True`, модель не будет скачана с Hub.

token (`str` или *bool*, *необязательный*) : Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если `True`, используется токен, сгенерированный командой `diffusers-cli login` (сохранённый в `~/.huggingface`).

revision (`str`, *необязательный*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git.

custom_revision (`str`, *optional*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Это может быть имя ветки, имя тега или идентификатор коммита, аналогично `revision` при загрузке пользовательского конвейера из Hub. Это может быть версия 🤗 Diffusers при загрузке пользовательского конвейера из GitHub, в противном случае по умолчанию используется `"main"` при загрузке из Hub.

mirror (`str`, *необязательный*) : Зеркальный источник для решения проблем с доступностью при загрузке модели в Китае. Мы не гарантируем актуальность или безопасность источника, поэтому за дополнительной информацией обращайтесь на сайт зеркала.

device_map (`str` или `dict[str, int | str | torch.device]`, *необязательный*) : Карта, указывающая, на какое устройство следует поместить каждый подмодуль. Её не обязательно задавать для каждого имени параметра/буфера; как только имя модуля указано в карте, все его подмодули будут отправлены на то же устройство. Установите `device_map="auto"`, чтобы 🤗 Accelerate автоматически вычислила наиболее оптимизированную `device_map`. Подробнее о каждом варианте см. [проектирование карты устройств](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`, *необязательный*) : Словарь идентификаторов устройств для максимальной памяти. Если не задано, по умолчанию используется максимальная доступная память для каждого GPU и доступная оперативная память CPU.

offload_folder (`str` или `os.PathLike`, *необязательный*) : Путь для выгрузки весов, если device_map содержит значение `"disk"`.

offload_state_dict (`bool`, *необязательный*) : Если `True`, состояние CPU state dict временно выгружается на диск, чтобы избежать нехватки оперативной памяти CPU, если вес CPU state dict и крупнейший фрагмент контрольной точки не помещаются в неё. По умолчанию `True`, если используется выгрузка на диск.

low_cpu_mem_usage (`bool`, *необязательный*, по умолчанию `True`, если версия torch >= 1.9.0, иначе `False`) : Ускоряет загрузку модели, загружая только предобученные веса и не инициализируя их. Также это позволяет не использовать больше 1x размера модели в оперативной памяти (включая пиковое потребление) при загрузке модели. Поддерживается только для PyTorch >= 1.9.0. Если вы используете более старую версию PyTorch, установка этого аргумента в `True` вызовет ошибку.

use_safetensors (`bool`, *необязательный*, по умолчанию `None`) : Если установлено в `None`, веса safetensors загружаются, если они доступны **и** если библиотека safetensors установлена. Если установлено в `True`, модель принудительно загружается из весов safetensors. Если установлено в `False`, веса safetensors не загружаются.

kwargs (остаточный словарь аргументов с ключами, *необязательный*) : может использоваться для переопределения переменных загрузки и сохранения (компонентов конвейера конкретного класса конвейера). Переопределённые компоненты передаются непосредственно в метод `__init__` конвейера. См. пример ниже для получения дополнительной информации.

variant (`str`, *необязательный*) : Загружает веса из файла с указанным вариантом имени, например `"fp16"` или `"ema"`.

Создаёт пайплайн Pytorch для генерации изображений по изображению (image-to-image) на основе предобученных весов пайплайна.

Метод from_pretrained() обеспечивает возврат экземпляра правильного класса конвейера, выполняя следующие действия:
1. Определить класс конвейера для pretrained_model_or_path на основе свойства _class_name объекта его конфигурации
2. Найдите конвейер image-to-image, связанный с классом pipeline, используя сопоставление по имени класса pipeline.

Если передан аргумент `controlnet`, будет создан объект [StableDiffusionControlNetImg2ImgPipeline](/docs/diffusers/main/ru/api/pipelines/controlnet#diffusers.StableDiffusionControlNetImg2ImgPipeline).

По умолчанию пайплайн устанавливается в режим оценки (`model.eval()`).

Если вы получаете сообщение об ошибке, приведённое ниже, вам необходимо дообучить веса для вашей целевой задачи:

```
Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
```

> [!TIP] > Для использования частных или [gated](https://huggingface.co/docs/hub/models-gated#gated-models) моделей выполните вход
с помощью `hf > auth login`.

Примеры:

```py
>>> from diffusers import AutoPipelineForImage2Image

>>> pipeline = AutoPipelineForImage2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image).images[0]
```

#### from_pipe[[diffusers.AutoPipelineForImage2Image.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L868)

**Параметры:**

pipeline (`DiffusionPipeline`) : объект `DiffusionPipeline`, созданный с помощью конструктора

Создаёт пайплайн Pytorch для генерации изображений по изображению из другого уже созданного класса пайплайна диффузии.

Метод from_pipe() обеспечивает возврат экземпляра правильного класса конвейера, находя конвейер «изображение в изображение», связанный с классом конвейера, с помощью сопоставления по имени класса конвейера.

Все модули, содержащиеся в конвейере, будут использованы для инициализации нового конвейера без выделения дополнительной памяти.

По умолчанию пайплайн устанавливается в режим оценки (`model.eval()`).

Примеры:

```py
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_i2i = AutoPipelineForImage2Image.from_pipe(pipe_t2i)
>>> image = pipe_i2i(prompt, image).images[0]
```

## AutoPipelineForInpainting[[diffusers.AutoPipelineForInpainting]]

#### diffusers.AutoPipelineForInpainting[[diffusers.AutoPipelineForInpainting]]

```python
diffusers.AutoPipelineForInpainting(*args, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L990)

[AutoPipelineForInpainting](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting) — это универсальный класс пайплайна, который создаёт экземпляр класса пайплайна для инпейнтинга. Конкретный базовый класс пайплайна выбирается автоматически из методов [from_pretrained()](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting.from_pretrained) или [from_pipe()](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting.from_pipe).

Этот класс нельзя создать с помощью `__init__()` (выбрасывает ошибку).

Атрибуты класса:

- **config_name** (`str`) -- Имя файла конфигурации, в котором хранятся имена классов и модулей всех компонентов диффузионного конвейера.

#### from_pretrained[[diffusers.AutoPipelineForInpainting.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1015)

**Параметры:**

pretrained_model_or_path (`str` или `os.PathLike`, *необязательный*) : Может быть одним из:  - строка, *repo id* (например, `CompVis/ldm-text2im-large-256`) предобученного пайплайна, размещенного на Hub. - путь к *каталогу* (например, `./my_pipeline_directory/`), содержащему веса пайплайна, сохраненные с помощью [save_pretrained()](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

dtype (`str` или `torch.dtype`, *необязательный*) : Переопределяет стандартный `torch.dtype` и загружает модель с другим dtype.

force_download (`bool`, *необязательный*, по умолчанию `False`) : Указывает, следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, заменяя кэшированные версии, если они существуют.

cache_dir (`str | os.PathLike`, *необязательный*) : Путь к каталогу, в котором кэшируется конфигурация загруженной предобученной модели, если стандартный кэш не используется.

proxies (`dict[str, str]`, *необязательный*) : Словарь прокси-серверов для использования по протоколу или конечной точке, например, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Прокси используются при каждом запросе.

output_loading_info(`bool`, *необязательный*, по умолчанию `False`) : Нужно ли также возвращать словарь, содержащий отсутствующие ключи, неожиданные ключи и сообщения об ошибках.

local_files_only (`bool`, *необязательный*, по умолчанию `False`) : Загружать только локальные веса модели и файлы конфигурации или нет. Если установлено в `True`, модель не будет скачана с Hub.

token (`str` или *bool*, *необязательный*) : Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если `True`, используется токен, сгенерированный командой `diffusers-cli login` (сохранённый в `~/.huggingface`).

revision (`str`, *необязательный*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git.

custom_revision (`str`, *optional*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Это может быть имя ветки, имя тега или идентификатор коммита, аналогично `revision` при загрузке пользовательского конвейера из Hub. Это может быть версия 🤗 Diffusers при загрузке пользовательского конвейера из GitHub, в противном случае по умолчанию используется `"main"` при загрузке из Hub.

mirror (`str`, *необязательный*) : Зеркальный источник для решения проблем с доступностью при загрузке модели в Китае. Мы не гарантируем актуальность или безопасность источника, поэтому за дополнительной информацией обращайтесь на сайт зеркала.

device_map (`str` или `dict[str, int | str | torch.device]`, *необязательный*) : Карта, указывающая, на какое устройство следует поместить каждый подмодуль. Её не обязательно задавать для каждого имени параметра/буфера; как только имя модуля указано в карте, все его подмодули будут отправлены на то же устройство. Установите `device_map="auto"`, чтобы 🤗 Accelerate автоматически вычислила наиболее оптимизированную `device_map`. Подробнее о каждом варианте см. [проектирование карты устройств](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`, *необязательный*) : Словарь идентификаторов устройств для максимальной памяти. Если не задано, по умолчанию используется максимальная доступная память для каждого GPU и доступная оперативная память CPU.

offload_folder (`str` или `os.PathLike`, *необязательный*) : Путь для выгрузки весов, если device_map содержит значение `"disk"`.

offload_state_dict (`bool`, *необязательный*) : Если `True`, состояние CPU state dict временно выгружается на диск, чтобы избежать нехватки оперативной памяти CPU, если вес CPU state dict и крупнейший фрагмент контрольной точки не помещаются в неё. По умолчанию `True`, если используется выгрузка на диск.

low_cpu_mem_usage (`bool`, *необязательный*, по умолчанию `True`, если версия torch >= 1.9.0, иначе `False`) : Ускоряет загрузку модели, загружая только предобученные веса и не инициализируя их. Также это позволяет не использовать больше 1x размера модели в оперативной памяти (включая пиковое потребление) при загрузке модели. Поддерживается только для PyTorch >= 1.9.0. Если вы используете более старую версию PyTorch, установка этого аргумента в `True` вызовет ошибку.

use_safetensors (`bool`, *необязательный*, по умолчанию `None`) : Если установлено в `None`, веса safetensors загружаются, если они доступны **и** если библиотека safetensors установлена. Если установлено в `True`, модель принудительно загружается из весов safetensors. Если установлено в `False`, веса safetensors не загружаются.

kwargs (остаточный словарь аргументов с ключами, *необязательный*) : может использоваться для переопределения переменных загрузки и сохранения (компонентов конвейера конкретного класса конвейера). Переопределённые компоненты передаются непосредственно в метод `__init__` конвейера. См. пример ниже для получения дополнительной информации.

variant (`str`, *необязательный*) : Загружает веса из файла с указанным вариантом имени, например `"fp16"` или `"ema"`.

Создаёт пайплайн диффузии PyTorch для inpainting из предобученных весов пайплайна.

Метод from_pretrained() обеспечивает возврат экземпляра правильного класса конвейера, выполняя следующие действия:
1. Определить класс конвейера для pretrained_model_or_path на основе свойства _class_name объекта его конфигурации
2. Найдите конвейер inpainting, связанный с классом конвейера, с помощью сопоставления по имени класса конвейера.

Если передан аргумент `controlnet`, будет создан объект [StableDiffusionControlNetInpaintPipeline](/docs/diffusers/main/ru/api/pipelines/controlnet#diffusers.StableDiffusionControlNetInpaintPipeline).

По умолчанию пайплайн устанавливается в режим оценки (`model.eval()`).

Если вы получаете сообщение об ошибке, приведённое ниже, вам необходимо дообучить веса для вашей целевой задачи:

```
Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
```

> [!TIP] > Для использования частных или [gated](https://huggingface.co/docs/hub/models-gated#gated-models) моделей выполните вход
с помощью `hf > auth login`.

Примеры:

```py
>>> from diffusers import AutoPipelineForInpainting

>>> pipeline = AutoPipelineForInpainting.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image=init_image, mask_image=mask_image).images[0]
```

#### from_pipe[[diffusers.AutoPipelineForInpainting.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1179)

**Параметры:**

pipeline (`DiffusionPipeline`) : объект `DiffusionPipeline`, созданный с помощью конструктора

Создаёт пайплайн диффузии PyTorch для инпейнтинга на основе уже инициализированного класса пайплайна диффузии.

Метод from_pipe() обеспечивает возврат экземпляра правильного класса пайплайна, находя пайплайн инпейнтинга, связанный с классом пайплайна, с помощью сопоставления по имени класса пайплайна.

Все модули, содержащиеся в классе pipeline, будут использованы для инициализации нового pipeline без выделения дополнительной памяти.

По умолчанию пайплайн устанавливается в режим оценки (`model.eval()`).

Примеры:

```py
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForInpainting

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "DeepFloyd/IF-I-XL-v1.0", requires_safety_checker=False
... )

>>> pipe_inpaint = AutoPipelineForInpainting.from_pipe(pipe_t2i)
>>> image = pipe_inpaint(prompt, image=init_image, mask_image=mask_image).images[0]
```

## AutoPipelineForText2Audio[[diffusers.AutoPipelineForText2Audio]]

#### diffusers.AutoPipelineForText2Audio[[diffusers.AutoPipelineForText2Audio]]

```python
diffusers.AutoPipelineForText2Audio(*args, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1298)

[AutoPipelineForText2Audio](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio) is a generic pipeline class that instantiates a text-to-audio pipeline class. The specific underlying pipeline class is automatically selected from either the [from_pretrained()](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio.from_pretrained) or [from_pipe()](/docs/diffusers/main/ru/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio.from_pipe) methods.

Этот класс нельзя создать с помощью `__init__()` (выбрасывает ошибку).

Атрибуты класса:

- **config_name** (`str`) -- Имя файла конфигурации, в котором хранятся имена классов и модулей всех компонентов диффузионного конвейера.

#### from_pretrained[[diffusers.AutoPipelineForText2Audio.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1323)

**Параметры:**

pretrained_model_or_path (`str` или `os.PathLike`, *необязательный*) : Может быть одним из:  - строка, *repo id* (например, `stabilityai/stable-audio-open-1.0`) предобученного пайплайна, размещенного на Hub. - путь к *каталогу* (например, `./my_pipeline_directory/`), содержащему веса пайплайна, сохраненные с помощью [save_pretrained()](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

dtype (`torch.dtype`, *необязательный*) : Переопределяет значение по умолчанию `torch.dtype` и загружает модель с другим dtype.

force_download (`bool`, *необязательный*, по умолчанию `False`) : Указывает, следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, заменяя кэшированные версии, если они существуют.

cache_dir (`str | os.PathLike`, *необязательный*) : Путь к каталогу, в котором кэшируется конфигурация загруженной предобученной модели, если стандартный кэш не используется.

proxies (`dict[str, str]`, *необязательный*) : Словарь прокси-серверов для использования по протоколу или конечной точке, например, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Прокси используются при каждом запросе.

output_loading_info(`bool`, *необязательный*, по умолчанию `False`) : Нужно ли также возвращать словарь, содержащий отсутствующие ключи, неожиданные ключи и сообщения об ошибках.

local_files_only (`bool`, *необязательный*, по умолчанию `False`) : Загружать только локальные веса модели и файлы конфигурации или нет. Если установлено в `True`, модель не будет скачана с Hub.

token (`str` или *bool*, *необязательный*) : Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если `True`, используется токен, сгенерированный командой `diffusers-cli login` (сохранённый в `~/.huggingface`).

revision (`str`, *необязательный*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git.

custom_revision (`str`, *optional*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Это может быть имя ветки, имя тега или идентификатор коммита, аналогично `revision` при загрузке пользовательского конвейера из Hub. Это может быть версия 🤗 Diffusers при загрузке пользовательского конвейера из GitHub, в противном случае по умолчанию используется `"main"` при загрузке из Hub.

mirror (`str`, *необязательный*) : Зеркальный источник для решения проблем с доступностью при загрузке модели в Китае. Мы не гарантируем актуальность или безопасность источника, поэтому за дополнительной информацией обращайтесь на сайт зеркала.

device_map (`str` или `dict[str, int | str | torch.device]`, *необязательный*) : Карта, указывающая, на какое устройство следует поместить каждый подмодуль. Её не обязательно задавать для каждого имени параметра/буфера; как только имя модуля указано в карте, все его подмодули будут отправлены на то же устройство. Установите `device_map="auto"`, чтобы 🤗 Accelerate автоматически вычислила наиболее оптимизированную `device_map`. Подробнее о каждом варианте см. [проектирование карты устройств](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`, *необязательный*) : Словарь идентификаторов устройств для максимальной памяти. Если не задано, по умолчанию используется максимальная доступная память для каждого GPU и доступная оперативная память CPU.

offload_folder (`str` или `os.PathLike`, *необязательный*) : Путь для выгрузки весов, если device_map содержит значение `"disk"`.

offload_state_dict (`bool`, *необязательный*) : Если `True`, состояние CPU state dict временно выгружается на диск, чтобы избежать нехватки оперативной памяти CPU, если вес CPU state dict и крупнейший фрагмент контрольной точки не помещаются в неё. По умолчанию `True`, если используется выгрузка на диск.

low_cpu_mem_usage (`bool`, *необязательный*, по умолчанию `True`, если версия torch >= 1.9.0, иначе `False`) : Ускоряет загрузку модели, загружая только предобученные веса и не инициализируя их. Также это позволяет не использовать больше 1x размера модели в оперативной памяти (включая пиковое потребление) при загрузке модели. Поддерживается только для PyTorch >= 1.9.0. Если вы используете более старую версию PyTorch, установка этого аргумента в `True` вызовет ошибку.

use_safetensors (`bool`, *необязательный*, по умолчанию `None`) : Если установлено в `None`, веса safetensors загружаются, если они доступны **и** если библиотека safetensors установлена. Если установлено в `True`, модель принудительно загружается из весов safetensors. Если установлено в `False`, веса safetensors не загружаются.

kwargs (остаточный словарь аргументов с ключами, *необязательный*) : может использоваться для переопределения переменных загрузки и сохранения (компонентов конвейера конкретного класса конвейера). Переопределённые компоненты передаются непосредственно в метод `__init__` конвейера. См. пример ниже для получения дополнительной информации.

variant (`str`, *необязательный*) : Загружает веса из файла с указанным вариантом имени, например `"fp16"` или `"ema"`.

Создаёт пайплайн Pytorch для генерации аудио из текста на основе предобученных весов пайплайна.

Метод from_pretrained() обеспечивает возврат экземпляра правильного класса конвейера, выполняя следующие действия:
1. Определить класс конвейера для pretrained_model_or_path на основе свойства _class_name объекта его конфигурации
2. Найдите конвейер text-to-audio, связанный с классом конвейера, используя сопоставление по имени класса конвейера.

По умолчанию пайплайн устанавливается в режим оценки (`model.eval()`).

> [!TIP] > Для использования частных или [gated](https://huggingface.co/docs/hub/models-gated#gated-models) моделей выполните вход
с помощью `hf > auth login`.

Примеры:

```py
>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio

>>> pipeline = AutoPipelineForText2Audio.from_pretrained(
...     "stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16
... )
>>> pipeline = pipeline.to("cuda")

>>> output = pipeline(
...     "Generate a male voice reading a paragraph",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipeline.vae.sampling_rate)
```

#### from_pipe[[diffusers.AutoPipelineForText2Audio.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1467)

**Параметры:**

pipeline (`DiffusionPipeline`) : объект `DiffusionPipeline`, созданный с помощью конструктора

Создаёт пайплайн Pytorch для генерации аудио из текста на основе другого уже инициализированного класса диффузионного пайплайна.

Метод from_pipe() обеспечивает возврат экземпляра правильного класса пайплайна, находя пайплайн text-to-audio, связанный с классом пайплайна, с помощью сопоставления по имени класса пайплайна.

Все модули, содержащиеся в конвейере, будут использованы для инициализации нового конвейера без выделения дополнительной памяти.

По умолчанию пайплайн устанавливается в режим оценки (`model.eval()`).

```py
>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio, StableAudioPipeline

>>> pipe = StableAudioPipeline.from_pretrained("stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16)

>>> pipe_audio = AutoPipelineForText2Audio.from_pipe(pipe)
>>> output = pipe_audio(
...     "Generate a sound",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipe_audio.vae.sampling_rate)
```

