Diffusers documentation
Обзор
Обзор
🤗 Diffusers предоставляет набор скриптов обучения для создания собственных диффузионных моделей. Все наши скрипты обучения находятся в diffusers/examples.
Каждый скрипт обучения:
- Самодостаточность: скрипт обучения не зависит от каких-либо локальных файлов, а все пакеты, необходимые для запуска скрипта, устанавливаются из файла
requirements.txt. - Легко настраиваемые: скрипты обучения служат примером того, как обучать диффузионную модель для конкретной задачи, и не будут работать «из коробки» для каждого сценария обучения. Скорее всего, вам потребуется адаптировать скрипт обучения под ваш конкретный случай. Чтобы помочь вам в этом, мы полностью раскрыли код предобработки данных и цикл обучения, чтобы вы могли модифицировать их под свои нужды.
- Доступно для новичков: скрипты обучения разработаны так, чтобы быть понятными и простыми для начинающих, а не включать самые современные передовые методы для достижения наилучших и конкурентоспособных результатов. Любые методы обучения, которые мы считаем слишком сложными, намеренно исключаются.
- Одноцелевые: каждый скрипт обучения специально разработан только для одной задачи, чтобы оставаться читаемым и понятным.
В нашу текущую коллекцию скриптов обучения входят:
| Обучение | Поддержка SDXL | Поддержка LoRA |
|---|---|---|
| бесусловная генерация изображений | ||
| text-to-image | 👍 | 👍 |
| textual inversion | ||
| DreamBooth | 👍 | 👍 |
| ControlNet | 👍 | |
| InstructPix2Pix | 👍 | |
| Custom Diffusion | ||
| T2I-Adapters | 👍 | |
| Kandinsky 2.2 | 👍 |
Эти примеры активно поддерживаются, поэтому, если они работают не так, как ожидается, не стесняйтесь создавать issue. Если вы считаете, что стоит включить ещё один пример обучения, мы будем рады, если вы откроете Feature Request, чтобы обсудить с нами вашу идею и проверить, соответствует ли она нашим критериям: самодостаточность, простота настройки, доступность для новичков и узкая специализация.
Установка
Убедитесь, что вы можете успешно запустить последние версии примеров скриптов, установив библиотеку из исходного кода в новое виртуальное окружение:
git clone https://github.com/huggingface/diffusers
cd diffusers
pip install .Затем перейдите в папку с обучающим скриптом (например, DreamBooth) и установите зависимости из файла requirements.txt. Некоторые обучающие скрипты имеют отдельный файл требований для SDXL или LoRA. Если вы используете один из таких скриптов, убедитесь, что устанавливаете соответствующий ему файл требований.
cd examples/dreambooth
pip install -r requirements.txt
# to train SDXL with DreamBooth
pip install -r requirements_sdxl.txtДля ускорения обучения и снижения потребления памяти мы рекомендуем:
- использование PyTorch 2.0 или более поздней версии для автоматического применения scaled dot product attention во время обучения (не требуется вносить изменения в код обучения)
- установка xFormers для включения энергоэффективного внимания