# Установка

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).

## Логирование телеметрии

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
```

