Diffusers documentation
Установка
Установка
Diffusers требует Python 3.10+ и протестирован с PyTorch 2.6+. Установите PyTorch в соответствии с вашей системой и конфигурацией.
Создайте виртуальное окружение для более удобного управления отдельными проектами и для избежания проблем совместимости между зависимостями. Используйте uv — менеджер пакетов и проектов Python на базе Rust — для создания виртуального окружения и установки Diffusers.
uv venv my-env
source my-env/bin/activateУстановите Diffusers одним из следующих способов.
uv pip install diffusers["torch"] transformersЧтобы установить Diffusers с PyTorch на устройства NVIDIA Spark (например, ноутбук RTX Spark) с архитектурой ARM64, установите PyTorch из индекса PyPI от NVIDIA. Эти устройства требуют ARM64-сборки PyTorch от NVIDIA, которые недоступны в стандартном индексе PyPI или в обычном индексе колёс PyTorch.
Выполните команду ниже, чтобы проверить, обнаруживает ли ваша система GPU от NVIDIA.
nvidia-smi
Установите PyTorch из индекса PyPI от NVIDIA, затем установите Diffusers.
uv pip install torch --index-url https://pypi.nvidia.com uv pip install diffusers
conda install -c conda-forge diffusers
Установка из исходников устанавливает версию main вместо последней stable версии. Версия main полезна для отслеживания последних изменений, но она не всегда стабильна. Если вы столкнетесь с проблемой, создайте Issue, и мы постараемся решить её как можно скорее.
Убедитесь, что Accelerate установлен.
uv pip install accelerate
Установите Diffusers из исходного кода с помощью команды ниже.
uv pip install git+https://github.com/huggingface/diffusers
Устанавливайте дополнительные компоненты по мере необходимости. diffusers["torch"] подключает PyTorch и Accelerate. Другие дополнительные компоненты охватывают бэкенды квантования, обучение и документацию. Полный список см. в setup.py.
Устройства
Diffusers работает на любом ускорителе, поддерживаемом PyTorch. Примеры в документации используют "cuda", так как это самая распространённая конфигурация, но ничего не является специфичным для CUDA. Замените строку устройства на соответствующую вашему оборудованию, например, "xpu" для GPU Intel, "mps" для Apple silicon или "cpu".
device = "cuda" # or "mps", "xpu", "cpu"
pipeline.to(device)Чтобы выбрать устройство во время выполнения, а не задавать его жёстко, используйте torch.accelerator.
import torch
device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu"Установка в режиме редактирования
Рекомендуется использовать редактируемую установку для рабочих процессов разработки или при использовании версии main исходного кода. При этом создаётся специальная связь между клонированным репозиторием и путями к библиотеке Python. Это позволяет избежать повторной установки пакета после каждого изменения.
Склонируйте репозиторий и установите Diffusers с помощью следующих команд.
git clone https://github.com/huggingface/diffusers.git
cd diffusers
uv pip install -e ".[torch]"Если вы хотите продолжать использовать библиотеку с установкой в режиме редактирования, необходимо сохранить папку
diffusers.
Обновите клонированный репозиторий до последней версии Diffusers с помощью команды ниже.
cd ~/diffusers/
git pullКэш
Веса модели и файлы загружаются с Hub в кэш, который обычно находится в домашнем каталоге. Изменить расположение кэша можно с помощью переменных окружения HF_HOME или HF_HUB_CACHE либо настроив параметр cache_dir в методах, таких как from_pretrained().
export HF_HOME="/path/to/your/cache"
export HF_HUB_CACHE="/path/to/your/hub/cache"from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"black-forest-labs/FLUX.1-dev",
cache_dir="/path/to/your/cache"
)Кэшированные файлы позволяют использовать Diffusers в автономном режиме. Установите переменную окружения HF_HUB_OFFLINE в значение 1, чтобы предотвратить подключение Diffusers к интернету.
export HF_HUB_OFFLINE=1
Для получения подробной информации об управлении и очистке кэша ознакомьтесь с руководством Понимание кэширования.
Логирование телеметрии
Diffusers gathers telemetry information during from_pretrained() requests. The data gathered includes the Diffusers and PyTorch version, the requested model or pipeline class, and the path to a pretrained checkpoint if it is hosted on the Hub.
Эти данные о использовании помогают нам отлаживать проблемы и определять приоритеты при разработке новых функций. Телеметрия отправляется только при загрузке моделей и конвейеров из Hub, и не собирается, если вы загружаете локальные файлы.
Отключите сбор телеметрии с помощью переменной окружения HF_HUB_DISABLE_TELEMETRY.
export HF_HUB_DISABLE_TELEMETRY=1set HF_HUB_DISABLE_TELEMETRY=1