Hub documentation

Использование 🧨 diffusers на Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Использование 🧨 diffusers на Hugging Face

Diffusers — это основная библиотека для передовых предобученных диффузионных моделей, генерирующих изображения, аудио и даже трёхмерные структуры молекул. Независимо от того, ищете ли вы простое решение для инференса или хотите обучить собственную диффузионную модель, Diffusers представляет собой модульный набор инструментов, поддерживающий оба сценария. Библиотека спроектирована с акцентом на удобство использования, а не на производительность, простоту, а не лёгкость, и настраиваемость, а не на абстракции.

Исследование Diffusers в Hub

На Hugging Face Hub доступно более 10 000 совместимых с diffusers пайплайнов, которые можно найти, используя фильтр слева на странице моделей. Системы диффузии обычно состоят из нескольких компонентов, таких как текстовый энкодер, UNet, VAE и планировщик. Хотя они не являются автономными моделями, абстракция пайплайна упрощает их использование для инференса или обучения.

Вы можете найти диффузионные пайплайны для самых разных задач:

  • Генерация изображений по текстовым описаниям на естественном языке (text-to-image).
  • Преобразование изображений с помощью текстовых подсказок на естественном языке (image-to-image).
  • Генерация видео по описаниям на естественном языке (text-to-video).

Вы можете попробовать модели прямо в браузере, если хотите протестировать их без скачивания, благодаря встроенным в браузер виджетам!

Файлы репозитория Diffusers

Репозиторий модели Diffusers содержит все необходимые подкомпоненты модели, такие как вариационный автоэнкодер для кодирования изображений и декодирования латентов, текстовый энкодер, трансформерная модель и другие. Эти подкомпоненты организованы в структуру из нескольких папок.

Каждая подпапка содержит веса и конфигурацию (где применимо) для каждого компонента, аналогично модели Transformers.

Веса обычно хранятся в файлах safetensors, а конфигурация — это, как правило, файл json с информацией об архитектуре модели.

Использование существующих конвейеров

Все пайплайны diffusers готовы к использованию! Для запуска генерации мы рекомендуем всегда начинать с DiffusionPipeline:

from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0")

Если вы хотите загрузить конкретный компонент конвейера, например UNet, вы можете сделать это следующим образом:

from diffusers import UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet")

Обмен вашими конвейерами и моделями

Все классы pipeline, классы моделей и классы планировщиков полностью совместимы с Hub. Более конкретно, их можно легко загрузить из Hub с помощью метода from_pretrained() и поделиться с другими с помощью метода push_to_hub().

Для получения подробной информации обратитесь к документации.

Дополнительные ресурсы

Update on GitHub