Hub documentation
Использование 🧨 diffusers на Hugging Face
Использование 🧨 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().
Для получения подробной информации обратитесь к документации.