Buckets:
Установка
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=1
set HF_HUB_DISABLE_TELEMETRY=1
Xet Storage Details
- Size:
- 8.51 kB
- Xet hash:
- 8674efb6ff540c5be0ffe6814ca54a8c0b0a70360ee77acb0e3fcaa25e2c1eba
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.