Diffusers documentation

AutoPipeline

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoPipeline

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

Ознакомьтесь с учебником по AutoPipeline, чтобы узнать, как использовать этот API!

AutoPipelineForText2Image

класс diffusers.AutoPipelineForText2Image

< >

( *args**kwargs )

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() or from_pipe() methods.

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

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

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

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Параметры

  • pretrained_model_or_path (str или os.PathLike, необязательный) — Может быть:
    • Строка, repo id (например, CompVis/ldm-text2im-large-256) предобученного пайплайна, размещенного на Hub.
    • Путь к каталогу (например, ./my_pipeline_directory/), содержащему веса пайплайна, сохранённые с помощью 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, optional, по умолчанию 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, необязательный, по умолчанию "main") — Конкретная версия модели, которую следует использовать. Это может быть имя ветки, имя тега или идентификатор коммита, аналогично revision при загрузке пользовательского конвейера из Hub. При загрузке пользовательского конвейера из GitHub это может быть версия 🤗 Diffusers, в противном случае при загрузке из Hub по умолчанию используется "main".
  • mirror (str, optional) — Источник зеркала для решения проблем с доступностью при загрузке модели в Китае. Мы не гарантируем актуальность или безопасность источника, поэтому за дополнительной информацией обращайтесь на сайт зеркала.
  • device_map (str или dict[str, int | str | torch.device], необязательный) — Карта, определяющая, на какое устройство следует поместить каждый подмодуль. Её не обязательно задавать для каждого имени параметра/буфера: как только имя модуля указано в карте, все его подмодули будут отправлены на то же устройство.

    Установите device_map="auto", чтобы 🤗 Accelerate автоматически вычислила наиболее оптимизированную device_map. Подробнее о каждом варианте см. проектирование 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 размера модели в оперативной памяти CPU (включая пиковое потребление) при загрузке модели. Поддерживается только для 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.

По умолчанию пайплайн устанавливается в режим оценки (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.

> Для использования частных или защищённых моделей выполните вход с помощью hf > auth login.

Примеры:

>>> from diffusers import AutoPipelineForText2Image

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

from_pipe

< >

( pipeline**kwargs )

Параметры

  • pipeline (DiffusionPipeline) — созданный объект DiffusionPipeline

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

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

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

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

>>> 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

< >

( *args**kwargs )

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() or from_pipe() methods.

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

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

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

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Параметры

  • pretrained_model_or_path (str или os.PathLike, необязательный) — Может быть:
    • Строка, repo id (например, CompVis/ldm-text2im-large-256) предобученного пайплайна, размещенного на Hub.
    • Путь к каталогу (например, ./my_pipeline_directory/), содержащему веса пайплайна, сохранённые с помощью 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, optional, по умолчанию 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, необязательный, по умолчанию "main") — Конкретная версия модели, которую следует использовать. Это может быть имя ветки, имя тега или идентификатор коммита, аналогично revision при загрузке пользовательского конвейера из Hub. При загрузке пользовательского конвейера из GitHub это может быть версия 🤗 Diffusers, в противном случае при загрузке из Hub по умолчанию используется "main".
  • mirror (str, optional) — Источник зеркала для решения проблем с доступностью при загрузке модели в Китае. Мы не гарантируем актуальность или безопасность источника, поэтому за дополнительной информацией обращайтесь на сайт зеркала.
  • device_map (str или dict[str, int | str | torch.device], необязательный) — Карта, определяющая, на какое устройство следует поместить каждый подмодуль. Её не обязательно задавать для каждого имени параметра/буфера: как только имя модуля указано в карте, все его подмодули будут отправлены на то же устройство.

    Установите device_map="auto", чтобы 🤗 Accelerate автоматически вычислила наиболее оптимизированную device_map. Подробнее о каждом варианте см. проектирование 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 размера модели в оперативной памяти CPU (включая пиковое потребление) при загрузке модели. Поддерживается только для 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, связанный с классом пайплайна, используя сопоставление по имени класса пайплайна.

Если передан аргумент controlnet, будет создан объект 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.

> Для использования частных или защищённых моделей выполните вход с помощью hf > auth login.

Примеры:

>>> from diffusers import AutoPipelineForImage2Image

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

from_pipe

< >

( pipeline**kwargs )

Параметры

  • pipeline (DiffusionPipeline) — созданный объект DiffusionPipeline

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

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

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

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

Примеры:

>>> 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

< >

( *args**kwargs )

AutoPipelineForInpainting — это универсальный класс пайплайна, который создаёт экземпляр класса пайплайна для инпейнтинга. Конкретный базовый класс пайплайна выбирается автоматически из методов from_pretrained() или from_pipe().

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

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

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

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Параметры

  • pretrained_model_or_path (str или os.PathLike, необязательный) — Может быть:
    • Строка, repo id (например, CompVis/ldm-text2im-large-256) предобученного пайплайна, размещенного на Hub.
    • Путь к каталогу (например, ./my_pipeline_directory/), содержащему веса пайплайна, сохранённые с помощью 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, optional, по умолчанию 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, необязательный, по умолчанию "main") — Конкретная версия модели, которую следует использовать. Это может быть имя ветки, имя тега или идентификатор коммита, аналогично revision при загрузке пользовательского конвейера из Hub. При загрузке пользовательского конвейера из GitHub это может быть версия 🤗 Diffusers, в противном случае при загрузке из Hub по умолчанию используется "main".
  • mirror (str, optional) — Источник зеркала для решения проблем с доступностью при загрузке модели в Китае. Мы не гарантируем актуальность или безопасность источника, поэтому за дополнительной информацией обращайтесь на сайт зеркала.
  • device_map (str или dict[str, int | str | torch.device], необязательный) — Карта, определяющая, на какое устройство следует поместить каждый подмодуль. Её не обязательно задавать для каждого имени параметра/буфера: как только имя модуля указано в карте, все его подмодули будут отправлены на то же устройство.

    Установите device_map="auto", чтобы 🤗 Accelerate автоматически вычислила наиболее оптимизированную device_map. Подробнее о каждом варианте см. проектирование 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 размера модели в оперативной памяти CPU (включая пиковое потребление) при загрузке модели. Поддерживается только для 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.

По умолчанию пайплайн устанавливается в режим оценки (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.

> Для использования частных или защищённых моделей выполните вход с помощью hf > auth login.

Примеры:

>>> 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

< >

( pipeline**kwargs )

Параметры

  • pipeline (DiffusionPipeline) — созданный объект DiffusionPipeline

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

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

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

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

Примеры:

>>> 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

< >

( *args**kwargs )

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() or from_pipe() methods.

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

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

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

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Параметры

  • pretrained_model_or_path (str или os.PathLike, необязательный) — Может быть:
    • Строка, repo id (например, stabilityai/stable-audio-open-1.0) предобученного пайплайна, размещенного на Hub.
    • Путь к каталогу (например, ./my_pipeline_directory/), содержащему веса пайплайна, сохранённые с помощью 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, optional, по умолчанию 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, необязательный, по умолчанию "main") — Конкретная версия модели, которую следует использовать. Это может быть имя ветки, имя тега или идентификатор коммита, аналогично revision при загрузке пользовательского конвейера из Hub. При загрузке пользовательского конвейера из GitHub это может быть версия 🤗 Diffusers, в противном случае при загрузке из Hub по умолчанию используется "main".
  • mirror (str, optional) — Источник зеркала для решения проблем с доступностью при загрузке модели в Китае. Мы не гарантируем актуальность или безопасность источника, поэтому за дополнительной информацией обращайтесь на сайт зеркала.
  • device_map (str или dict[str, int | str | torch.device], необязательный) — Карта, определяющая, на какое устройство следует поместить каждый подмодуль. Её не обязательно задавать для каждого имени параметра/буфера: как только имя модуля указано в карте, все его подмодули будут отправлены на то же устройство.

    Установите device_map="auto", чтобы 🤗 Accelerate автоматически вычислила наиболее оптимизированную device_map. Подробнее о каждом варианте см. проектирование 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 размера модели в оперативной памяти CPU (включая пиковое потребление) при загрузке модели. Поддерживается только для 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()).

> Для использования частных или защищённых моделей выполните вход с помощью hf > auth login.

Примеры:

>>> 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

< >

( pipeline**kwargs )

Параметры

  • pipeline (DiffusionPipeline) — созданный объект DiffusionPipeline

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

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

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

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

>>> 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)
Update on GitHub