# Одиночные файлы

Метод [from_single_file()](/docs/diffusers/v0.43.0/ru/api/loaders/single_file#diffusers.loaders.FromSingleFileMixin.from_single_file) позволяет загрузить:

* модель, хранящаяся в одном файле, что удобно при работе с моделями из экосистемы диффузии, например, с Automatic1111, где для хранения и обмена моделями обычно используется структура с одним файлом
* модель, сохраненная в исходном формате распределения, что полезно, если вы работаете с моделями, дообученными с помощью других сервисов, и хотите загрузить ее напрямую в объекты моделей и конвейеры Diffusers

> [!TIP]
> Ознакомьтесь с руководством [Файлы и структура моделей](../../using-diffusers/other-formats), чтобы узнать больше о структуре Diffusers-multifolder по сравнению с однофайловой структурой, а также о том, как загружать модели, хранящиеся в этих разных структурах.

## Поддерживаемые конвейеры

- [StableDiffusionPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline)
- [StableDiffusionImg2ImgPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/stable_diffusion/img2img#diffusers.StableDiffusionImg2ImgPipeline)
- [StableDiffusionInpaintPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/stable_diffusion/inpaint#diffusers.StableDiffusionInpaintPipeline)
- [StableDiffusionControlNetPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/controlnet#diffusers.StableDiffusionControlNetPipeline)
- [StableDiffusionControlNetImg2ImgPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/controlnet#diffusers.StableDiffusionControlNetImg2ImgPipeline)
- [StableDiffusionControlNetInpaintPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/controlnet#diffusers.StableDiffusionControlNetInpaintPipeline)
- [StableDiffusionUpscalePipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/stable_diffusion/upscale#diffusers.StableDiffusionUpscalePipeline)
- [StableDiffusionXLPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLPipeline)
- [StableDiffusionXLImg2ImgPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLImg2ImgPipeline)
- [StableDiffusionXLInpaintPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLInpaintPipeline)
- [StableDiffusionXLInstructPix2PixPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/pix2pix#diffusers.StableDiffusionXLInstructPix2PixPipeline)
- [StableDiffusionXLControlNetPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/controlnet_sdxl#diffusers.StableDiffusionXLControlNetPipeline)
- `StableDiffusionXLKDiffusionPipeline`
- [StableDiffusion3Pipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/stable_diffusion/stable_diffusion_3#diffusers.StableDiffusion3Pipeline)
- [LatentConsistencyModelPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/latent_consistency_models#diffusers.LatentConsistencyModelPipeline)
- [LatentConsistencyModelImg2ImgPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/latent_consistency_models#diffusers.LatentConsistencyModelImg2ImgPipeline)
- `StableDiffusionControlNetXSPipeline`
- `StableDiffusionXLControlNetXSPipeline`
- [LEditsPPPipelineStableDiffusion](/docs/diffusers/v0.43.0/ru/api/pipelines/ledits_pp#diffusers.LEditsPPPipelineStableDiffusion)
- [LEditsPPPipelineStableDiffusionXL](/docs/diffusers/v0.43.0/ru/api/pipelines/ledits_pp#diffusers.LEditsPPPipelineStableDiffusionXL)
- `PIAPipeline`

## Поддерживаемые модели

- [UNet2DConditionModel](/docs/diffusers/v0.43.0/ru/api/models/unet2d-cond#diffusers.UNet2DConditionModel)
- `StableCascadeUNet`
- [AutoencoderKL](/docs/diffusers/v0.43.0/ru/api/models/autoencoderkl#diffusers.AutoencoderKL)
- [ControlNetModel](/docs/diffusers/v0.43.0/ru/api/models/controlnet#diffusers.ControlNetModel)
- [SD3Transformer2DModel](/docs/diffusers/v0.43.0/ru/api/models/sd3_transformer2d#diffusers.SD3Transformer2DModel)
- [FluxTransformer2DModel](/docs/diffusers/v0.43.0/ru/api/models/flux_transformer#diffusers.FluxTransformer2DModel)

## FromSingleFileMixin[[diffusers.loaders.FromSingleFileMixin]]

#### diffusers.loaders.FromSingleFileMixin[[diffusers.loaders.FromSingleFileMixin]]

```python
diffusers.loaders.FromSingleFileMixin()
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/loaders/single_file.py#L243)

Загрузите веса модели, сохранённые в формате `.ckpt`, в [DiffusionPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/overview#diffusers.DiffusionPipeline).

#### from_single_file[[diffusers.loaders.FromSingleFileMixin.from_single_file]]

```python
from_single_file(pretrained_model_link_or_path, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/loaders/single_file.py#L248)

**Параметры:**

pretrained_model_link_or_path (`str` или `os.PathLike`, *необязательный*) : Может быть одним из: - ссылкой на файл `.ckpt` (например, `"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt"`) на Hub. - путём к *файлу*, содержащему все веса пайплайна.

dtype (`str` или `torch.dtype`, *необязательный*) : Переопределяет стандартный `torch.dtype` и загружает модель с другим dtype.

force_download (`bool`, *необязательный*, по умолчанию `False`) : Указывает, следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, заменяя кэшированные версии, если они существуют.

cache_dir (`str | os.PathLike`, *необязательный*) : Путь к каталогу, в котором кэшируется конфигурация загруженной предобученной модели, если стандартный кэш не используется.

proxies (`dict[str, str]`, *необязательный*) : Словарь прокси-серверов для использования по протоколу или конечной точке, например, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Прокси используются при каждом запросе.

local_files_only (`bool`, *необязательный*, по умолчанию `False`) : Загружать только локальные веса модели и файлы конфигурации или нет. Если установлено в `True`, модель не будет скачана с Hub.

token (`str` или *bool*, *необязательный*) : Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если `True`, используется токен, сгенерированный командой `diffusers-cli login` (сохранённый в `~/.huggingface`).

revision (`str`, *необязательный*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git.

original_config_file (`str`, *необязательный*) : Путь к исходному файлу конфигурации, который использовался для обучения модели. Если не указан, файл конфигурации будет определён на основе файла контрольной точки.

config (`str`, *необязательный*) : Может быть одним из: - строка, *repo id* (например, `CompVis/ldm-text2im-large-256`) предобученного пайплайна, размещённого на Hub. - путь к *каталогу* (например, `./my_pipeline_directory/`), содержащему конфигурации компонентов пайплайна в формате Diffusers.

disable_mmap ('bool', *optional*, по умолчанию 'False') : Отключает ли mmap при загрузке модели Safetensors. Этот параметр может обеспечить лучшую производительность, если модель находится на сетевом диске или жёстком диске.

kwargs (остаточный словарь аргументов с ключами, *необязательный*) : может использоваться для переопределения переменных загрузки и сохранения (компонентов конвейера конкретного класса конвейера). Переопределённые компоненты передаются непосредственно в метод `__init__` конвейера. См. пример ниже для получения дополнительной информации.

Создайте экземпляр [DiffusionPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/overview#diffusers.DiffusionPipeline) из предобученных весов пайплайна, сохранённых в формате `.ckpt` или `.safetensors`. По умолчанию пайплайн устанавливается в режим оценки (`model.eval()`).

Примеры:

```py
>>> from diffusers import StableDiffusionPipeline

>>> # Download pipeline from huggingface.co and cache.
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/Models/AbyssOrangeMix/AbyssOrangeMix.safetensors"
... )

>>> # Download pipeline from local file
>>> # file is downloaded under ./v1-5-pruned-emaonly.ckpt
>>> pipeline = StableDiffusionPipeline.from_single_file("./v1-5-pruned-emaonly.ckpt")

>>> # Enable float16 and move to GPU
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt",
...     torch_dtype=torch.float16,
... )
>>> pipeline.to("cuda")
```

## FromOriginalModelMixin[[diffusers.loaders.FromOriginalModelMixin]]

#### diffusers.loaders.FromOriginalModelMixin[[diffusers.loaders.FromOriginalModelMixin]]

```python
diffusers.loaders.FromOriginalModelMixin()
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/loaders/single_file_model.py#L276)

Загрузите предобученные веса, сохранённые в формате `.ckpt` или `.safetensors`, в модель.

#### from_single_file[[diffusers.loaders.FromOriginalModelMixin.from_single_file]]

```python
from_single_file(pretrained_model_link_or_path_or_dict: str | None = None, **kwargs)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/loaders/single_file_model.py#L281)

**Параметры:**

pretrained_model_link_or_path_or_dict (`str`, *необязательный*) : Может быть одним из следующих: - Ссылка на файл `.safetensors` или `.ckpt` (например, `"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors"`) на Hub. - Путь к локальному *файлу*, содержащему веса компонентной модели. - Словарь состояний (state dict), содержащий веса компонентной модели.

config (`str`, *необязательный*) : - Строка, *repo id* (например, `CompVis/ldm-text2im-large-256`) предобученного пайплайна, размещенного на Hub. - Путь к *каталогу* (например, `./my_pipeline_directory/`), содержащему конфигурации компонентов пайплайна в формате Diffusers.

subfolder (`str`, *необязательный*, по умолчанию `""`) : Путь к подпапке, в которой находится файл модели в составе более крупного репозитория моделей на Hub или локально.

original_config (`str`, *необязательный*) : словарь или путь к файлу yaml, содержащему конфигурацию модели в исходном формате. Если передан словарь, он будет использован для инициализации конфигурации модели.

dtype (`torch.dtype`, *необязательный*) : Переопределяет значение по умолчанию `torch.dtype` и загружает модель с другим dtype.

force_download (`bool`, *необязательный*, по умолчанию `False`) : Указывает, следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, заменяя кэшированные версии, если они существуют.

cache_dir (`str | os.PathLike`, *необязательный*) : Путь к каталогу, в котором кэшируется конфигурация загруженной предобученной модели, если стандартный кэш не используется.

proxies (`dict[str, str]`, *необязательный*) : Словарь прокси-серверов для использования по протоколу или конечной точке, например, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Прокси используются при каждом запросе.

local_files_only (`bool`, *необязательный*, по умолчанию `False`) : Загружать только локальные веса модели и файлы конфигурации или нет. Если установлено в True, модель не будет скачана с Hub.

token (`str` или *bool*, *необязательный*) : Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если `True`, используется токен, сгенерированный командой `diffusers-cli login` (сохранённый в `~/.huggingface`).

revision (`str`, *необязательный*, по умолчанию `"main"`) : Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git.

low_cpu_mem_usage (`bool`, *необязательный*, по умолчанию `True`, если версия torch >= 1.9.0 и : is_accelerate_available(), иначе `False`): Ускоряет загрузку модели, загружая только предобученные веса и не инициализируя их. При этом также обеспечивается, чтобы при загрузке модели в оперативной памяти CPU использовалось не более 1x размера модели (включая пиковое потребление). Поддерживается только для PyTorch >= 1.9.0. Если вы используете более старую версию PyTorch, установка этого аргумента в `True` вызовет ошибку.

disable_mmap ('bool', *optional*, по умолчанию 'False') : Отключает ли использование mmap при загрузке модели Safetensors. Этот параметр может обеспечить лучшую производительность, если модель находится на сетевом диске или жёстком диске, которые могут плохо справляться с частыми операциями перемотки, характерными для mmap.

kwargs (остаточный словарь аргументов с ключами, *необязательный*) : может использоваться для переопределения переменных загрузки и сохранения (например, компонентов конвейера конкретного класса конвейера). Переопределённые компоненты передаются непосредственно в метод `__init__` конвейера. См. пример ниже для получения дополнительной информации.

Создайте модель из предобученных весов, сохранённых в исходном формате `.ckpt` или `.safetensors`. По умолчанию модель устанавливается в режим оценки (`model.eval()`).

```py
>>> from diffusers import StableCascadeUNet

>>> ckpt_path = "https://huggingface.co/stabilityai/stable-cascade/blob/main/stage_b_lite.safetensors"
>>> model = StableCascadeUNet.from_single_file(ckpt_path)
```

