Buckets:
| # UNet | |
| Некоторые методы обучения, такие как LoRA и Custom Diffusion, как правило, нацелены на слои внимания UNet, однако эти методы могут быть применены и к другим слоям, не связанным с вниманием. Вместо обучения всех параметров модели обучается только их подмножество, что быстрее и эффективнее. Этот класс полезен, если вы *только* загружаете веса в UNet. Если вам нужно загрузить веса в текстовый энкодер или одновременно в текстовый энкодер и UNet, используйте вместо этого функцию [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). | |
| Класс `UNet2DConditionLoadersMixin` предоставляет функции для загрузки и сохранения весов, слияния и разделения LoRA, отключения и включения LoRA, а также установки и удаления адаптеров. | |
| > [!TIP] | |
| > Чтобы узнать больше о том, как загрузить веса LoRA, см. руководство [LoRA](../../tutorials/using_peft_for_inference). | |
| ## UNet2DConditionLoadersMixin[[diffusers.loaders.UNet2DConditionLoadersMixin]] | |
| #### diffusers.loaders.UNet2DConditionLoadersMixin[[diffusers.loaders.UNet2DConditionLoadersMixin]] | |
| ```python | |
| diffusers.loaders.UNet2DConditionLoadersMixin() | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/unet.py#L53) | |
| Загрузите слои LoRA в `UNet2DCondtionModel`. | |
| #### load_attn_procs[[diffusers.loaders.UNet2DConditionLoadersMixin.load_attn_procs]] | |
| ```python | |
| load_attn_procs(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/unet.py#L61) | |
| **Параметры:** | |
| pretrained_model_name_or_path_or_dict (`str` или `os.PathLike` или `dict`) : Может быть одним из следующих: - Строка, идентификатор модели (например, `google/ddpm-celebahq-256`) предобученной модели, размещенной на Hub. - Путь к каталогу (например, `./my_model_directory`), содержащему веса модели, сохраненные с помощью [ModelMixin.save_pretrained()](/docs/diffusers/main/ru/api/models/overview#diffusers.ModelMixin.save_pretrained). - [torch state dict](https://pytorch.org/tutorials/beginner/saving_loading_models.html#what-is-a-state-dict). | |
| cache_dir (`str | os.PathLike`, *необязательный*) : Путь к каталогу, в котором кэшируется конфигурация загруженной предобученной модели, если стандартный кэш не используется. | |
| force_download (`bool`, *необязательный*, по умолчанию `False`) : Указывает, следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, заменяя кэшированные версии, если они существуют. | |
| 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. | |
| subfolder (`str`, *необязательный*, по умолчанию `""`) : Путь к подпапке, в которой находится файл модели в составе более крупного репозитория моделей на Hub или локально. | |
| weight_name (`str`, *необязательный*, по умолчанию None) : Имя файла сериализованного state dict. | |
| Загрузите предобученные слои attention-процессора Custom Diffusion в [UNet2DConditionModel](/docs/diffusers/main/ru/api/models/unet2d-cond#diffusers.UNet2DConditionModel). Слой attention-процессора должен быть определён в [`attention_processor.py`](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) и являться классом `torch.nn.Module`. Для загрузки слоёв LoRA используйте вместо этого [load_lora_adapter()](/docs/diffusers/main/ru/api/loaders/peft#diffusers.loaders.PeftAdapterMixin.load_lora_adapter). | |
| Пример: | |
| ```py | |
| import torch | |
| from diffusers import DiffusionPipeline | |
| pipeline = DiffusionPipeline.from_pretrained( | |
| "CompVis/stable-diffusion-v1-4", | |
| torch_dtype=torch.float16, | |
| ).to("cuda") | |
| pipeline.unet.load_attn_procs("path-to-save-model", weight_name="pytorch_custom_diffusion_weights.bin") | |
| ``` | |
| #### save_attn_procs[[diffusers.loaders.UNet2DConditionLoadersMixin.save_attn_procs]] | |
| ```python | |
| save_attn_procs(save_directory: str | os.PathLike, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, **kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/unet.py#L252) | |
| **Параметры:** | |
| save_directory (`str` или `os.PathLike`) : Каталог для сохранения attention processor (будет создан, если не существует). | |
| is_main_process (`bool`, *необязательный*, по умолчанию `True`) : Указывает, является ли процесс, вызывающий данный метод, основным. Полезно при распределённом обучении, когда необходимо вызвать эту функцию во всех процессах. В этом случае установите `is_main_process=True` только в основном процессе, чтобы избежать гонок. | |
| save_function (`Callable`) : функция, используемая для сохранения словаря состояния. Полезно при распределённом обучении, когда необходимо заменить `torch.save` на другой метод. Может быть настроено с помощью переменной окружения `DIFFUSERS_SAVE_MODE`. | |
| safe_serialization (`bool`, *необязательный*, по умолчанию `True`) : Сохранять ли модель с использованием `safetensors` или с помощью `pickle`. | |
| Сохраните слои процессора внимания Custom Diffusion в каталог, чтобы их можно было загрузить с помощью метода [load_attn_procs()](/docs/diffusers/main/ru/api/loaders/unet#diffusers.loaders.UNet2DConditionLoadersMixin.load_attn_procs). Для сохранения слоёв LoRA используйте вместо этого [save_lora_adapter()](/docs/diffusers/main/ru/api/loaders/peft#diffusers.loaders.PeftAdapterMixin.save_lora_adapter). | |
| Пример: | |
| ```py | |
| import torch | |
| from diffusers import DiffusionPipeline | |
| pipeline = DiffusionPipeline.from_pretrained( | |
| "CompVis/stable-diffusion-v1-4", | |
| torch_dtype=torch.float16, | |
| ).to("cuda") | |
| pipeline.unet.load_attn_procs("path-to-save-model", weight_name="pytorch_custom_diffusion_weights.bin") | |
| pipeline.unet.save_attn_procs("path-to-save-model", weight_name="pytorch_custom_diffusion_weights.bin") | |
| ``` | |
Xet Storage Details
- Size:
- 9.13 kB
- Xet hash:
- 412f17ed3680d14974fe0fcac81277b40be05792e0b79de16e846edb5bf02d1b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.