Buckets:
| # Установка | |
| Diffusers требует Python 3.10+ и протестирован с PyTorch 2.6+. Установите [PyTorch](https://pytorch.org/get-started/locally/) в соответствии с вашей системой и конфигурацией. | |
| Создайте [виртуальное окружение](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/) для более удобного управления отдельными проектами и для избежания проблем совместимости между зависимостями. Используйте [uv](https://docs.astral.sh/uv/) — менеджер пакетов и проектов Python на базе Rust — для создания виртуального окружения и установки Diffusers. | |
| ```bash | |
| uv venv my-env | |
| source my-env/bin/activate | |
| ``` | |
| Установите Diffusers одним из следующих способов. | |
| ```bash | |
| uv pip install diffusers["torch"] transformers | |
| ``` | |
| Чтобы установить Diffusers с PyTorch на устройства NVIDIA Spark (например, ноутбук RTX Spark) с архитектурой ARM64, установите PyTorch из индекса PyPI от NVIDIA. Эти устройства требуют ARM64-сборки PyTorch от NVIDIA, которые недоступны в стандартном индексе PyPI или в обычном индексе колёс PyTorch. | |
| Выполните команду ниже, чтобы проверить, обнаруживает ли ваша система GPU от NVIDIA. | |
| ```bash | |
| nvidia-smi | |
| ``` | |
| Установите PyTorch из индекса PyPI от NVIDIA, затем установите Diffusers. | |
| ```bash | |
| uv pip install torch --index-url https://pypi.nvidia.com | |
| uv pip install diffusers | |
| ``` | |
| ```bash | |
| conda install -c conda-forge diffusers | |
| ``` | |
| Установка из исходников устанавливает версию `main` вместо последней `stable` версии. Версия `main` полезна для отслеживания последних изменений, но она не всегда стабильна. Если вы столкнетесь с проблемой, создайте [Issue](https://github.com/huggingface/diffusers/issues/new/choose), и мы постараемся решить её как можно скорее. | |
| Убедитесь, что [Accelerate](https://huggingface.co/docs/accelerate/index) установлен. | |
| ```bash | |
| uv pip install accelerate | |
| ``` | |
| Установите Diffusers из исходного кода с помощью команды ниже. | |
| ```bash | |
| uv pip install git+https://github.com/huggingface/diffusers | |
| ``` | |
| Устанавливайте дополнительные компоненты по мере необходимости. `diffusers["torch"]` подключает PyTorch и Accelerate. Другие дополнительные компоненты охватывают бэкенды квантования, обучение и документацию. Полный список см. в [`setup.py`](https://github.com/huggingface/diffusers/blob/main/setup.py). | |
| ## Устройства | |
| Diffusers работает на любом ускорителе, поддерживаемом PyTorch. Примеры в документации используют `"cuda"`, так как это самая распространённая конфигурация, но ничего не является специфичным для CUDA. Замените строку устройства на соответствующую вашему оборудованию, например, `"xpu"` для GPU Intel, `"mps"` для Apple silicon или `"cpu"`. | |
| ```py | |
| device = "cuda" # or "mps", "xpu", "cpu" | |
| pipeline.to(device) | |
| ``` | |
| Чтобы выбрать устройство во время выполнения, а не задавать его жёстко, используйте [torch.accelerator](https://docs.pytorch.org/docs/stable/accelerator.html). | |
| ```py | |
| import torch | |
| device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu" | |
| ``` | |
| ## Установка в режиме редактирования | |
| Рекомендуется использовать редактируемую установку для рабочих процессов разработки или при использовании версии `main` исходного кода. При этом создаётся специальная связь между клонированным репозиторием и путями к библиотеке Python. Это позволяет избежать повторной установки пакета после каждого изменения. | |
| Склонируйте репозиторий и установите Diffusers с помощью следующих команд. | |
| ```bash | |
| git clone https://github.com/huggingface/diffusers.git | |
| cd diffusers | |
| uv pip install -e ".[torch]" | |
| ``` | |
| > [!WARNING] | |
| > Если вы хотите продолжать использовать библиотеку с установкой в режиме редактирования, необходимо сохранить папку `diffusers`. | |
| Обновите клонированный репозиторий до последней версии Diffusers с помощью команды ниже. | |
| ```bash | |
| cd ~/diffusers/ | |
| git pull | |
| ``` | |
| ## Кэш | |
| Веса модели и файлы загружаются с Hub в кэш, который обычно находится в домашнем каталоге. Изменить расположение кэша можно с помощью переменных окружения [HF_HOME](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhome) или [HF_HUB_CACHE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubcache) либо настроив параметр `cache_dir` в методах, таких как [from_pretrained()](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained). | |
| ```bash | |
| export HF_HOME="/path/to/your/cache" | |
| export HF_HUB_CACHE="/path/to/your/hub/cache" | |
| ``` | |
| ```py | |
| from diffusers import DiffusionPipeline | |
| pipeline = DiffusionPipeline.from_pretrained( | |
| "black-forest-labs/FLUX.1-dev", | |
| cache_dir="/path/to/your/cache" | |
| ) | |
| ``` | |
| Кэшированные файлы позволяют использовать Diffusers в автономном режиме. Установите переменную окружения [HF_HUB_OFFLINE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhuboffline) в значение `1`, чтобы предотвратить подключение Diffusers к интернету. | |
| ```shell | |
| export HF_HUB_OFFLINE=1 | |
| ``` | |
| Для получения подробной информации об управлении и очистке кэша ознакомьтесь с руководством [Понимание кэширования](https://huggingface.co/docs/huggingface_hub/guides/manage-cache). | |
| ### Обмен файлами между репозиториями | |
| Кэш хранит одну копию файла, даже если несколько репозиториев Hub содержат его. Многие конвейеры используют один и тот же текстовый энкодер, например T5. Если репозиторий второго конвейера содержит те же файлы текстового энкодера, что и уже загруженные вами, [from_pretrained()](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained) использует копию на диске вместо повторной загрузки. Diffusers требует `huggingface_hub>=1.32.0`, в котором обмен файлами включён по умолчанию. | |
| Кэш сопоставляет файлы по их хэшу [Xet](https://huggingface.co/docs/hub/xet/index), а не по имени репозитория или модели. Шункированный чекпоинт сопоставляется шанк за шанком, поэтому совпадающие шанки используются совместно, даже если остальные отличаются. | |
| Файл разделяется только в том случае, если выполняются все следующие условия: | |
| - Оба репозитория хранят файл с помощью Xet. | |
| - Оба процесса загрузки используют один и тот же каталог кэша, задаваемый параметром `HF_HUB_CACHE` или `cache_dir`. | |
| - Файловая система поддерживает символьные ссылки. | |
| - Файлы идентичны побайтово. Преобразование в другой dtype, сохранение в другом формате или повторное разделение на шунки изменяют хеш. | |
| > [!NOTE] | |
| > Файлы, загруженные с помощью более ранней версии `huggingface_hub`, не разделяются с новыми загрузками. В общий хранилище добавляются только файлы, загруженные с версии 1.32.0 или более поздней. | |
| Общий доступ к файлам экономит время загрузки и место на диске, но не память. Чтобы использовать одну загруженную модель в нескольких конвейерах, см. [Повторное использование моделей в нескольких конвейерах](./using-diffusers/loading#reusing-models-in-multiple-pipelines). | |
| Чтобы отключить общий доступ к файлам, установите `HF_HUB_DISABLE_SHARED_BLOBS=1`. Загрузка по-прежнему работает, и каждое хранилище хранит собственную копию. | |
| ```shell | |
| export HF_HUB_DISABLE_SHARED_BLOBS=1 | |
| ``` | |
| ## Логирование телеметрии | |
| Diffusers gathers telemetry information during [from_pretrained()](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline.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](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubdisabletelemetry). | |
| ```bash | |
| export HF_HUB_DISABLE_TELEMETRY=1 | |
| ``` | |
| ```bash | |
| set HF_HUB_DISABLE_TELEMETRY=1 | |
| ``` | |
Xet Storage Details
- Size:
- 11.7 kB
- Xet hash:
- 2d41c17a1bb77900bc262699b1fadc3c217e44fb71010cf7e79b0268e9df0676
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.