Diffusers documentation
AutoPipeline
AutoPipeline
AutoPipeline предназначен для упрощения загрузки контрольной точки для задачи без необходимости знать конкретный класс пайплайна. На основе задачи AutoPipeline автоматически извлекает правильный класс пайплайна из файла model_index.json контрольной точки.
Ознакомьтесь с учебником по AutoPipeline, чтобы узнать, как использовать этот API!
AutoPipelineForText2Image
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
< source >( 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().
- Строка, repo id (например,
- 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() обеспечивает возврат экземпляра правильного класса конвейера, выполняя следующие действия:
- Определить класс конвейера для pretrained_model_or_path на основе свойства _class_name объекта его конфигурации
- Найдите пайплайн 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_pipe
< source >( pipeline**kwargs )
Создаёт пайплайн 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
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
< source >( 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().
- Строка, repo id (например,
- 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() обеспечивает возврат экземпляра правильного класса конвейера, выполняя следующие действия:
- Определить класс конвейера для pretrained_model_or_path на основе свойства _class_name объекта его конфигурации
- Найдите пайплайн 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_pipe
< source >( pipeline**kwargs )
Создаёт пайплайн 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
AutoPipelineForInpainting — это универсальный класс пайплайна, который создаёт экземпляр класса пайплайна для инпейнтинга. Конкретный базовый класс пайплайна выбирается автоматически из методов from_pretrained() или from_pipe().
Этот класс нельзя создать с помощью __init__() (выбрасывает ошибку).
Атрибуты класса:
- config_name (
str) — Имя файла конфигурации, в котором хранятся имена классов и модулей всех компонентов диффузионного конвейера.
from_pretrained
< source >( 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().
- Строка, repo id (например,
- 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() обеспечивает возврат экземпляра правильного класса конвейера, выполняя следующие действия:
- Определить класс конвейера для pretrained_model_or_path на основе свойства _class_name объекта его конфигурации
- Найдите конвейер 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_pipe
< source >( pipeline**kwargs )
Создаёт пайплайн диффузии 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
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
< source >( 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().
- Строка, repo id (например,
- 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() обеспечивает возврат экземпляра правильного класса конвейера, выполняя следующие действия:
- Определить класс конвейера для pretrained_model_or_path на основе свойства _class_name объекта его конфигурации
- Найдите конвейер 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
< source >( pipeline**kwargs )
Создаёт пайплайн 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)