Buckets:

mishig's picture
|
download
raw
186 kB
# LoRA LoRA — это быстрый и лёгкий метод обучения, который вставляет и обучает значительно меньшее количество параметров вместо всех параметров модели. Это приводит к созданию файла меньшего размера (~100 МБ) и упрощает быстрое обучение модели для освоения нового концепта. Веса LoRA обычно загружаются в denoiser, текстовый энкодер или в оба. Denoiser обычно соответствует UNet (например, [UNet2DConditionModel](/docs/diffusers/main/ru/api/models/unet2d-cond#diffusers.UNet2DConditionModel)) или Transformer (например, [SD3Transformer2DModel](/docs/diffusers/main/ru/api/models/sd3_transformer2d#diffusers.SD3Transformer2DModel)). Существует несколько классов для загрузки весов LoRA: - `StableDiffusionLoraLoaderMixin` предоставляет функции для загрузки и выгрузки, слияния и разделения, а также включения и отключения и другие функции для управления весами LoRA. Этот класс можно использовать с любой моделью. - `StableDiffusionXLLoraLoaderMixin` — это версия [Stable Diffusion (SDXL)](../../api/pipelines/stable_diffusion/stable_diffusion_xl) класса `StableDiffusionLoraLoaderMixin` для загрузки и сохранения весов LoRA. Используется только с моделью SDXL. - `SD3LoraLoaderMixin` предоставляет аналогичные функции для [Stable Diffusion 3](https://huggingface.co/blog/sd3). - `FluxLoraLoaderMixin` предоставляет аналогичные функции для [Flux](../pipelines/flux). - `CogVideoXLoraLoaderMixin` предоставляет аналогичные функции для [CogVideoX](../pipelines/cogvideox). - `Mochi1LoraLoaderMixin` предоставляет аналогичные функции для [Mochi](../pipelines/mochi). - `AuraFlowLoraLoaderMixin` предоставляет аналогичные функции для [AuraFlow](https://huggingface.co/fal/AuraFlow). - `LTXVideoLoraLoaderMixin` предоставляет аналогичные функции для [LTX-Video](../pipelines/ltx_video). - `SanaLoraLoaderMixin` предоставляет аналогичные функции для [Sana](../pipelines/sana). - `HeliosLoraLoaderMixin` предоставляет аналогичные функции для [HunyuanVideo](../pipelines/helios). - `HunyuanVideoLoraLoaderMixin` предоставляет аналогичные функции для [HunyuanVideo](../pipelines/hunyuan_video). - `Lumina2LoraLoaderMixin` предоставляет аналогичные функции для [Lumina2](../pipelines/lumina2). - `WanLoraLoaderMixin` предоставляет аналогичные функции для [Wan](../pipelines/wan). - `SkyReelsV2LoraLoaderMixin` предоставляет аналогичные функции для [SkyReels-V2](../pipelines/skyreels_v2). - `CogView4LoraLoaderMixin` предоставляет аналогичные функции для [CogView4](../pipelines/cogview4). - `AmusedLoraLoaderMixin` предназначен для `AmusedPipeline`. - `AnimaLoraLoaderMixin` предоставляет аналогичные функции для [Anima](../pipelines/anima). - `AceStepLoraLoaderMixin` предоставляет аналогичные функции для [ACE-Step](../pipelines/ace_step). - `HiDreamImageLoraLoaderMixin` предоставляет аналогичные функции для [HiDream Image](../pipelines/hidream) - `QwenImageLoraLoaderMixin` предоставляет аналогичные функции для [Qwen Image](../pipelines/qwenimage). - `ZImageLoraLoaderMixin` предоставляет аналогичные функции для [Z-Image](../pipelines/z_image). - `Flux2LoraLoaderMixin` предоставляет аналогичные функции для [Flux2](../pipelines/flux2). - `ErnieImageLoraLoaderMixin` предоставляет аналогичные функции для [Ernie-Image](../pipelines/ernie_image). - `LTX2LoraLoaderMixin` предоставляет аналогичные функции для [Flux2](../pipelines/ltx2). - `MiniMaxH3LoraLoaderMixin` предоставляет аналогичные функции для [MiniMax-H3](../pipelines/minimax_h3). - `PikaH3FlexLoraLoaderMixin` предоставляет аналогичные функции для [Pika H3 Flex](../pipelines/pika_h3_flex). - `RFD4ProteinaLoraLoaderMixin` предоставляет аналогичные функции для [RFD4-Proteína](../pipelines/rfd4_proteina). - `BriaFibo2LoraLoaderMixin` предоставляет аналогичные функции для [fibo-2](../pipelines/bria_fibo2). - `LoraBaseMixin` предоставляет базовый класс с несколькими утилитами для слияния, отмены слияния, выгрузки LoRA и других операций. > [!TIP] > Чтобы узнать больше о том, как загрузить веса LoRA, см. руководство по загрузке [LoRA](../../tutorials/using_peft_for_inference). ## RFD4ProteinaLoraLoaderMixin[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin]] #### diffusers.loaders.RFD4ProteinaLoraLoaderMixin[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin]] ```python diffusers.loaders.RFD4ProteinaLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7532) Загрузите слои LoRA в [RFD4ProteinaTransformer](/docs/diffusers/main/ru/api/models/rfd4_proteina_transformer#diffusers.RFD4ProteinaTransformer). Автоэнкодер используется в паре с чекпоинтом денойзера и не адаптируется, поэтому трансформер является единственным модулем, который можно загрузить. #### fuse_lora[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7694) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7631) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7595) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7543) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7658) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7714) Подробнее см. в `unfuse_lora()`. ## LoraBaseMixin[[diffusers.loaders.lora_base.LoraBaseMixin]] #### diffusers.loaders.lora_base.LoraBaseMixin[[diffusers.loaders.lora_base.LoraBaseMixin]] ```python diffusers.loaders.lora_base.LoraBaseMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L491) Вспомогательный класс для работы с LoRA. #### delete_adapters[[diffusers.loaders.lora_base.LoraBaseMixin.delete_adapters]] ```python delete_adapters(adapter_names: list[str] | str) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L873) **Параметры:** adapter_names (`list[str, str]`) : Имена адаптеров, которые нужно удалить. Удалите слои LoRA адаптера из конвейера. Пример: ```py from diffusers import AutoPipelineForText2Image import torch pipeline = AutoPipelineForText2Image.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights( "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_names="cinematic" ) pipeline.delete_adapters("cinematic") ``` #### disable_lora[[diffusers.loaders.lora_base.LoraBaseMixin.disable_lora]] ```python disable_lora() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L813) Отключает активные слои LoRA в конвейере. Пример: ```py from diffusers import AutoPipelineForText2Image import torch pipeline = AutoPipelineForText2Image.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights( "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic" ) pipeline.disable_lora() ``` #### enable_lora[[diffusers.loaders.lora_base.LoraBaseMixin.enable_lora]] ```python enable_lora() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L843) Включает активные слои LoRA в конвейере. Пример: ```py from diffusers import AutoPipelineForText2Image import torch pipeline = AutoPipelineForText2Image.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights( "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic" ) pipeline.enable_lora() ``` #### enable_lora_hotswap[[diffusers.loaders.lora_base.LoraBaseMixin.enable_lora_hotswap]] ```python enable_lora_hotswap(**kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L1020) **Параметры:** target_rank (`int`) : Самый высокий ранг среди всех адаптеров, которые будут загружены. check_compiled (`str`, *необязательный*, по умолчанию `"error"`) : способ обработки модели, которая уже скомпилирована. Проверка может вернуть следующие сообщения: - "error" (по умолчанию): вызвать ошибку - "warn": вывести предупреждение - "ignore": ничего не делать Горячая замена адаптеров без запуска повторной компиляции модели или в случае, если ранги загруженных адаптеров различаются. #### fuse_lora[[diffusers.loaders.lora_base.LoraBaseMixin.fuse_lora]] ```python fuse_lora(components: list[str] | None = None, lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L549) **Параметры:** components : (`list[str]`): список компонентов, в которые можно внедрить LoRA, для слияния LoRAs. lora_scale (`float`, по умолчанию 1.0) : Определяет, насколько сильно параметры LoRA влияют на выходные данные. safe_fusing (`bool`, по умолчанию `False`) : Проверять ли объединённые веса на наличие значений NaN перед объединением и не объединять их, если значения равны NaN. adapter_names (`list[str]`, *необязательный*) : Имена адаптеров, которые будут использоваться для слияния. Если ничего не передано, будут слиты все активные адаптеры. Сливает параметры LoRA в исходные параметры соответствующих блоков. Пример: ```py from diffusers import DiffusionPipeline import torch pipeline = DiffusionPipeline.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights("nerijs/pixel-art-xl", weight_name="pixel-art-xl.safetensors", adapter_name="pixel") pipeline.fuse_lora(lora_scale=0.7) ``` #### get_active_adapters[[diffusers.loaders.lora_base.LoraBaseMixin.get_active_adapters]] ```python get_active_adapters() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L911) Получает список текущих активных адаптеров. Пример: ```python from diffusers import DiffusionPipeline pipeline = DiffusionPipeline.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", ).to("cuda") pipeline.load_lora_weights("CiroN2022/toy-face", weight_name="toy_face_sdxl.safetensors", adapter_name="toy") pipeline.get_active_adapters() ``` #### get_list_adapters[[diffusers.loaders.lora_base.LoraBaseMixin.get_list_adapters]] ```python get_list_adapters() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L944) Получает текущий список всех доступных адаптеров в конвейере. #### set_adapters[[diffusers.loaders.lora_base.LoraBaseMixin.set_adapters]] ```python set_adapters(adapter_names: list[str] | str, adapter_weights: float | dict[str, float | dict | None] | list[float | dict[str, float | dict | None] | None] | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L698) **Параметры:** adapter_names (`list[str]` или `str`) : Имена адаптеров, которые следует использовать. adapter_weights (`float`, `dict` или `list`, *необязательный*) : Веса для адаптеров. Скаляр масштабирует все компоненты, совместимые с LoRA. Словарь сопоставляет имена компонентов (например, `"unet"`, `"transformer"` или `"text_encoder"`) с весами; вес компонента UNet также может быть вложенным словарем масштабов блоков. Единственный скаляр или словарь применяется к каждому адаптеру. Список должен содержать по одному скаляру, словарю или `None` на каждый адаптер, в порядке `adapter_names`. `None` по умолчанию заменяется на `1.0`, включая элементы списка и веса компонентов. Нерасписанные компоненты и блоки UNet также по умолчанию имеют значение `1.0`. Установите адаптеры, активные в данный момент, для использования в конвейере. Пример: ```py from diffusers import AutoPipelineForText2Image import torch pipeline = AutoPipelineForText2Image.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights( "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic" ) pipeline.load_lora_weights( "troveski/sdxl-lora", weight_name="pytorch_lora_weights.safetensors", adapter_name="illustration" ) pipeline.set_adapters(["cinematic", "illustration"], adapter_weights=[0.5, 0.5]) pipeline.set_adapters( ["cinematic", "illustration"], adapter_weights=[{"unet": 0.5}, {"unet": 0.8, "text_encoder": 0.6}], ) ``` #### set_lora_device[[diffusers.loaders.lora_base.LoraBaseMixin.set_lora_device]] ```python set_lora_device(adapter_names: list[str], device: torch.device | str | int) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L966) **Параметры:** adapter_names (`list[str]`) : список адаптеров, на которые нужно отправить устройство. device (`torch.device | str | int`) : Устройство, на которое следует переместить адаптеры. Может быть устройством torch, строкой или целым числом. Перемещает LoRA, перечисленные в `adapter_names`, на целевое устройство. Полезно для выгрузки LoRA на CPU, если вы хотите загрузить несколько адаптеров и освободить часть памяти GPU. После переноса адаптеров LoRA на CPU, пока остальная часть модели остаётся на GPU, адаптеры LoRA больше не могут использоваться для инференса, так как это приведёт к несовпадению устройств. Не забудьте вернуть устройство на GPU перед использованием этих адаптеров LoRA для инференса. ```python >>> pipe.load_lora_weights(path_1, adapter_name="adapter-1") >>> pipe.load_lora_weights(path_2, adapter_name="adapter-2") >>> pipe.set_adapters("adapter-1") >>> image_1 = pipe(**kwargs) >>> # switch to adapter-2, offload adapter-1 >>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cpu") >>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cuda:0") >>> pipe.set_adapters("adapter-2") >>> image_2 = pipe(**kwargs) >>> # switch back to adapter-1, offload adapter-2 >>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cpu") >>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cuda:0") >>> pipe.set_adapters("adapter-1") >>> ... ``` #### unfuse_lora[[diffusers.loaders.lora_base.LoraBaseMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L636) **Параметры:** components (`list[str]`) : список компонентов, в которые можно внедрить LoRA, для отмены внедрения LoRA. unfuse_unet (`bool`, по умолчанию `True`) : Разъединять ли параметры LoRA для UNet. unfuse_text_encoder (`bool`, по умолчанию `True`) : Разъединять ли параметры LoRA текстового энкодера. Если текстовый энкодер не был модифицирован с помощью monkey-patching для включения параметров LoRA, этот параметр не окажет никакого эффекта. Отменяет действие [`pipe.fuse_lora()`](https://huggingface.co/docs/diffusers/main/en/api/loaders#diffusers.loaders.LoraBaseMixin.fuse_lora). #### unload_lora_weights[[diffusers.loaders.lora_base.LoraBaseMixin.unload_lora_weights]] ```python unload_lora_weights() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L526) Разгружает параметры LoRA. Примеры: ```python >>> # Assuming `pipeline` is already loaded with the LoRA parameters. >>> pipeline.unload_lora_weights() >>> ... ``` #### write_lora_layers[[diffusers.loaders.lora_base.LoraBaseMixin.write_lora_layers]] ```python write_lora_layers(state_dict: dict[str, torch.Tensor], save_directory: str, is_main_process: bool, weight_name: str, save_function: Callable, safe_serialization: bool, lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L1043) Записывает state dict слоёв LoRA (опционально с метаданными) на диск. ## StableDiffusionLoraLoaderMixin[[diffusers.loaders.StableDiffusionLoraLoaderMixin]] #### diffusers.loaders.StableDiffusionLoraLoaderMixin[[diffusers.loaders.StableDiffusionLoraLoaderMixin]] ```python diffusers.loaders.StableDiffusionLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L138) Загрузите слои LoRA в [UNet2DConditionModel](/docs/diffusers/main/ru/api/models/unet2d-cond#diffusers.UNet2DConditionModel) и [`CLIPTextModel`](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel) Stable Diffusion. #### load_lora_into_text_encoder[[diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_text_encoder]] ```python load_lora_into_text_encoder(state_dict, network_alphas, text_encoder, prefix = None, lora_scale = 1.0, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L408) **Параметры:** state_dict (`dict`) : Стандартный state dict, содержащий параметры слоёв lora. Ключ должен быть дополнен префиксом `text_encoder`, чтобы отличать слои lora от слоёв lora в unet. network_alphas (`dict[str, float]`) : Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция `--network_alpha` в скрипте обучения kohya-ss. См. [эту ссылку](https://github.com/darkstorm2150/sd-scripts/blob/main/docs/train_network_README-en.md#execute-learning). text_encoder (`CLIPTextModel`) : модель текстового кодировщика, в которую будут загружены слои LoRA. prefix (`str`) : Ожидаемый префикс `text_encoder` в `state_dict`. lora_scale (`float`) : Коэффициент масштабирования вывода слоя lora linear перед его сложением с выводом обычного слоя lora. adapter_name (`str`, *необязательный*) : Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано `default_{i}`, где i — общее количество загружаемых адаптеров. low_cpu_mem_usage (`bool`, *необязательный*) : Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса. hotswap (`bool`, *необязательный*) : см. [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). metadata (`dict`) : Необязательные метаданные адаптера LoRA. Если указаны, аргументы `LoraConfig` из `peft` не будут выведены из state dict. Это загрузит слои LoRA, указанные в `state_dict`, в `text_encoder` #### load_lora_into_unet[[diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet]] ```python load_lora_into_unet(state_dict, network_alphas, unet, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L354) **Параметры:** state_dict (`dict`) : Стандартный state dict, содержащий параметры слоёв lora. Ключи могут указывать на слои unet напрямую или иметь дополнительный префикс `unet`, что позволяет отличать слои lora текстового энкодера. network_alphas (`dict[str, float]`) : Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция `--network_alpha` в скрипте обучения kohya-ss. См. [эту ссылку](https://github.com/darkstorm2150/sd-scripts/blob/main/docs/train_network_README-en.md#execute-learning). unet (`UNet2DConditionModel`) : модель UNet, в которую будут загружены слои LoRA. adapter_name (`str`, *необязательный*) : Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано `default_{i}`, где i — общее количество загружаемых адаптеров. low_cpu_mem_usage (`bool`, *необязательный*) : Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса. hotswap (`bool`, *необязательный*) : см. [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). metadata (`dict`) : Необязательные метаданные адаптера LoRA. Если указаны, аргументы `LoraConfig` из `peft` не будут выведены из state dict. Это загрузит слои LoRA, указанные в `state_dict`, в `unet`. #### load_lora_weights[[diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L148) **Параметры:** pretrained_model_name_or_path_or_dict (`str` или `os.PathLike` или `dict`) : см. [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). adapter_name (`str`, *необязательный*) : Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано `default_{i}`, где i — общее количество загружаемых адаптеров. low_cpu_mem_usage (`bool`, *необязательный*) : Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса. hotswap (`bool`, *необязательный*) : По умолчанию `False`. Определяет, следует ли заменить существующий адаптер (LoRA) на вновь загруженный адаптер на месте. Это означает, что вместо загрузки дополнительного адаптера будут взяты веса существующего адаптера и заменены весами нового адаптера. Это может быть быстрее и экономнее по памяти. Однако главное преимущество hotswapping заключается в том, что при компиляции модели с помощью torch.compile загрузка нового адаптера не требует повторной компиляции модели. При использовании hotswapping переданный `adapter_name` должен быть именем уже загруженного адаптера. Если у нового и старого адаптеров разные ранги и/или значения LoRA alpha (т.е. масштабирование), перед загрузкой адаптера необходимо вызвать дополнительный метод: ```py pipeline = ... # load diffusers pipeline max_rank = ... # the highest rank among all LoRAs that you want to load # call *before* compiling and loading the LoRA adapter pipeline.enable_lora_hotswap(target_rank=max_rank) pipeline.load_lora_weights(file_name) # optionally compile the model now ``` Обратите внимание, что hotswapping адаптеров текстового кодировщика пока не поддерживается. У этой техники есть некоторые дополнительные ограничения, которые описаны здесь: https://huggingface.co/docs/peft/main/en/package_reference/hotswap kwargs (`dict`, *необязательный*) : см. [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). Загрузите веса LoRA, указанные в `pretrained_model_name_or_path_or_dict`, в `self.unet` и `self.text_encoder`. Все kwargs передаются в `self.lora_state_dict`. См. [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict) для получения подробной информации о том, как загружается state dict. See [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet) for more details on how the state dict is loaded into `self.unet`. См. [load_lora_into_text_encoder()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_text_encoder) для подробностей о том, как state dict загружается в `self.text_encoder`. #### lora_state_dict[[diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L243) **Параметры:** pretrained_model_name_or_path_or_dict (`str` или `os.PathLike` или `dict`) : Может быть одним из следующих: - Строка, *model id* (например, `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. return_lora_metadata (`bool`, *необязательный*, по умолчанию False) : Если включено, дополнительно возвращает метаданные адаптера LoRA, обычно находящиеся в state dict. Возвращает state dict для весов lora и альф сети. > [!WARNING] > Мы поддерживаем загрузку контрольных точек LoRA в формате A1111 в ограниченном объёме. > > Эта функция экспериментальный и может измениться в будущем. #### save_lora_weights[[diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, unet_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, text_encoder_lora_layers: dict[str, torch.nn.Module] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, unet_lora_adapter_metadata = None, text_encoder_lora_adapter_metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L466) **Параметры:** save_directory (`str` или `os.PathLike`) : Каталог для сохранения параметров LoRA. Будет создан, если не существует. unet_lora_layers (`dict[str, torch.nn.Module]` или `dict[str, torch.Tensor]`) : Словарь состояний слоёв LoRA, соответствующих `unet`. text_encoder_lora_layers (`dict[str, torch.nn.Module]` или `dict[str, torch.Tensor]`) : Словарь состояний (state dict) слоёв LoRA, соответствующих `text_encoder`. Необходимо явно передать словарь состояний LoRA для текстового энкодера, так как он поступает из 🤗 Transformers. is_main_process (`bool`, *необязательный*, по умолчанию `True`) : Указывает, является ли процесс, вызывающий данный метод, основным. Полезно при распределённом обучении, когда необходимо вызвать эту функцию во всех процессах. В этом случае установите `is_main_process=True` только в основном процессе, чтобы избежать гонок. save_function (`Callable`) : функция, используемая для сохранения словаря состояния. Полезно при распределённом обучении, когда необходимо заменить `torch.save` на другой метод. Может быть настроено с помощью переменной окружения `DIFFUSERS_SAVE_MODE`. safe_serialization (`bool`, *необязательный*, по умолчанию `True`) : Сохранять ли модель с помощью `safetensors` или традиционным способом PyTorch с использованием `pickle`. unet_lora_adapter_metadata : метаданные адаптера LoRA, связанные с unet, которые будут сериализованы вместе со state dict. text_encoder_lora_adapter_metadata : метаданные адаптера LoRA, связанные с текстовым энкодером, которые будут сериализованы вместе со словарем состояний. Сохраните параметры LoRA, соответствующие UNet и текстовому энкодеру. ## StableDiffusionXLLoraLoaderMixin[[diffusers.loaders.StableDiffusionXLLoraLoaderMixin]] #### diffusers.loaders.StableDiffusionXLLoraLoaderMixin[[diffusers.loaders.StableDiffusionXLLoraLoaderMixin]] ```python diffusers.loaders.StableDiffusionXLLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L585) Загрузите слои LoRA в [UNet2DConditionModel](/docs/diffusers/main/ru/api/models/unet2d-cond#diffusers.UNet2DConditionModel), [`CLIPTextModel`](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel) и [`CLIPTextModelWithProjection`](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModelWithProjection) Stable Diffusion XL. #### fuse_lora[[diffusers.loaders.StableDiffusionXLLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['unet', 'text_encoder', 'text_encoder_2'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L938) Подробнее см. в `fuse_lora()`. #### load_lora_into_text_encoder[[diffusers.loaders.StableDiffusionXLLoraLoaderMixin.load_lora_into_text_encoder]] ```python load_lora_into_text_encoder(state_dict, network_alphas, text_encoder, prefix = None, lora_scale = 1.0, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L831) **Параметры:** state_dict (`dict`) : Стандартный state dict, содержащий параметры слоёв lora. Ключ должен быть дополнен префиксом `text_encoder`, чтобы отличать слои lora от слоёв lora в unet. network_alphas (`dict[str, float]`) : Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция `--network_alpha` в скрипте обучения kohya-ss. См. [эту ссылку](https://github.com/darkstorm2150/sd-scripts/blob/main/docs/train_network_README-en.md#execute-learning). text_encoder (`CLIPTextModel`) : модель текстового кодировщика, в которую будут загружены слои LoRA. prefix (`str`) : Ожидаемый префикс `text_encoder` в `state_dict`. lora_scale (`float`) : Коэффициент масштабирования вывода слоя lora linear перед его сложением с выводом обычного слоя lora. adapter_name (`str`, *необязательный*) : Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано `default_{i}`, где i — общее количество загружаемых адаптеров. low_cpu_mem_usage (`bool`, *необязательный*) : Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса. hotswap (`bool`, *необязательный*) : см. [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). metadata (`dict`) : Необязательные метаданные адаптера LoRA. Если указаны, аргументы `LoraConfig` из `peft` не будут выведены из state dict. Это загрузит слои LoRA, указанные в `state_dict`, в `text_encoder` #### load_lora_into_unet[[diffusers.loaders.StableDiffusionXLLoraLoaderMixin.load_lora_into_unet]] ```python load_lora_into_unet(state_dict, network_alphas, unet, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L776) **Параметры:** state_dict (`dict`) : Стандартный state dict, содержащий параметры слоёв lora. Ключи могут указывать на слои unet напрямую или иметь дополнительный префикс `unet`, что позволяет отличать слои lora текстового энкодера. network_alphas (`dict[str, float]`) : Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция `--network_alpha` в скрипте обучения kohya-ss. См. [эту ссылку](https://github.com/darkstorm2150/sd-scripts/blob/main/docs/train_network_README-en.md#execute-learning). unet (`UNet2DConditionModel`) : модель UNet, в которую будут загружены слои LoRA. adapter_name (`str`, *необязательный*) : Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано `default_{i}`, где i — общее количество загружаемых адаптеров. low_cpu_mem_usage (`bool`, *необязательный*) : Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса. hotswap (`bool`, *необязательный*) : см. [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). metadata (`dict`) : Необязательные метаданные адаптера LoRA. Если указаны, аргументы `LoraConfig` из `peft` не будут выведены из state dict. Это загрузит слои LoRA, указанные в `state_dict`, в `unet`. #### load_lora_weights[[diffusers.loaders.StableDiffusionXLLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L596) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.StableDiffusionXLLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L664) **Параметры:** pretrained_model_name_or_path_or_dict (`str` или `os.PathLike` или `dict`) : Может быть одним из следующих: - Строка, *model id* (например, `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. return_lora_metadata (`bool`, *необязательный*, по умолчанию False) : Если включено, дополнительно возвращает метаданные адаптера LoRA, обычно находящиеся в state dict. Возвращает state dict для весов lora и альф сети. > [!WARNING] > Мы поддерживаем загрузку контрольных точек LoRA в формате A1111 в ограниченном объёме. > > Эта функция экспериментальный и может измениться в будущем. #### save_lora_weights[[diffusers.loaders.StableDiffusionXLLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, unet_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, text_encoder_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, text_encoder_2_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, unet_lora_adapter_metadata = None, text_encoder_lora_adapter_metadata = None, text_encoder_2_lora_adapter_metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L890) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.StableDiffusionXLLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['unet', 'text_encoder', 'text_encoder_2'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L957) Подробнее см. в `unfuse_lora()`. ## SD3LoraLoaderMixin[[diffusers.loaders.SD3LoraLoaderMixin]] #### diffusers.loaders.SD3LoraLoaderMixin[[diffusers.loaders.SD3LoraLoaderMixin]] ```python diffusers.loaders.SD3LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L964) Загрузите слои LoRA в [SD3Transformer2DModel](/docs/diffusers/main/ru/api/models/sd3_transformer2d#diffusers.SD3Transformer2DModel), [`CLIPTextModel`](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel) и [`CLIPTextModelWithProjection`](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModelWithProjection). Специфично для [StableDiffusion3Pipeline](/docs/diffusers/main/ru/api/pipelines/stable_diffusion/stable_diffusion_3#diffusers.StableDiffusion3Pipeline). #### fuse_lora[[diffusers.loaders.SD3LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer', 'text_encoder', 'text_encoder_2'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1225) Подробнее см. в `fuse_lora()`. #### load_lora_into_text_encoder[[diffusers.loaders.SD3LoraLoaderMixin.load_lora_into_text_encoder]] ```python load_lora_into_text_encoder(state_dict, network_alphas, text_encoder, prefix = None, lora_scale = 1.0, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1116) **Параметры:** state_dict (`dict`) : Стандартный state dict, содержащий параметры слоёв lora. Ключ должен быть дополнен префиксом `text_encoder`, чтобы отличать слои lora от слоёв lora в unet. network_alphas (`dict[str, float]`) : Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция `--network_alpha` в скрипте обучения kohya-ss. См. [эту ссылку](https://github.com/darkstorm2150/sd-scripts/blob/main/docs/train_network_README-en.md#execute-learning). text_encoder (`CLIPTextModel`) : модель текстового кодировщика, в которую будут загружены слои LoRA. prefix (`str`) : Ожидаемый префикс `text_encoder` в `state_dict`. lora_scale (`float`) : Коэффициент масштабирования вывода слоя lora linear перед его сложением с выводом обычного слоя lora. adapter_name (`str`, *необязательный*) : Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано `default_{i}`, где i — общее количество загружаемых адаптеров. low_cpu_mem_usage (`bool`, *необязательный*) : Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса. hotswap (`bool`, *необязательный*) : см. [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). metadata (`dict`) : Необязательные метаданные адаптера LoRA. Если указаны, аргументы `LoraConfig` из `peft` не будут выведены из state dict. Это загрузит слои LoRA, указанные в `state_dict`, в `text_encoder` #### load_lora_into_transformer[[diffusers.loaders.SD3LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1090) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.SD3LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1031) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.SD3LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L977) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.SD3LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, text_encoder_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, text_encoder_2_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata = None, text_encoder_lora_adapter_metadata = None, text_encoder_2_lora_adapter_metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1175) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.SD3LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer', 'text_encoder', 'text_encoder_2'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1245) Подробнее см. в `unfuse_lora()`. ## FluxLoraLoaderMixin[[diffusers.loaders.FluxLoraLoaderMixin]] #### diffusers.loaders.FluxLoraLoaderMixin[[diffusers.loaders.FluxLoraLoaderMixin]] ```python diffusers.loaders.FluxLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1441) Загрузите слои LoRA в [FluxTransformer2DModel](/docs/diffusers/main/ru/api/models/flux_transformer#diffusers.FluxTransformer2DModel), [`CLIPTextModel`](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel). Специфично для [FluxPipeline](/docs/diffusers/main/ru/api/pipelines/flux#diffusers.FluxPipeline). #### fuse_lora[[diffusers.loaders.FluxLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1879) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### load_lora_into_text_encoder[[diffusers.loaders.FluxLoraLoaderMixin.load_lora_into_text_encoder]] ```python load_lora_into_text_encoder(state_dict, network_alphas, text_encoder, prefix = None, lora_scale = 1.0, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1756) **Параметры:** state_dict (`dict`) : Стандартный state dict, содержащий параметры слоёв lora. Ключ должен быть дополнен префиксом `text_encoder`, чтобы отличать слои lora от слоёв lora в unet. network_alphas (`dict[str, float]`) : Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция `--network_alpha` в скрипте обучения kohya-ss. См. [эту ссылку](https://github.com/darkstorm2150/sd-scripts/blob/main/docs/train_network_README-en.md#execute-learning). text_encoder (`CLIPTextModel`) : модель текстового кодировщика, в которую будут загружены слои LoRA. prefix (`str`) : Ожидаемый префикс `text_encoder` в `state_dict`. lora_scale (`float`) : Коэффициент масштабирования вывода слоя lora linear перед его сложением с выводом обычного слоя lora. adapter_name (`str`, *необязательный*) : Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано `default_{i}`, где i — общее количество загружаемых адаптеров. low_cpu_mem_usage (`bool`, *необязательный*) : Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса. hotswap (`bool`, *необязательный*) : см. [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). metadata (`dict`) : Необязательные метаданные адаптера LoRA. Если указаны, аргументы `LoraConfig` из `peft` не будут выведены из state dict. Это загрузит слои LoRA, указанные в `state_dict`, в `text_encoder` #### load_lora_into_transformer[[diffusers.loaders.FluxLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, network_alphas, transformer, adapter_name = None, metadata = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1675) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.FluxLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1579) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.FluxLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], return_alphas: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1454) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.FluxLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, text_encoder_lora_layers: dict[str, torch.nn.Module] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata = None, text_encoder_lora_adapter_metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1815) **Параметры:** save_directory (`str` или `os.PathLike`) : Каталог для сохранения параметров LoRA. Будет создан, если не существует. transformer_lora_layers (`dict[str, torch.nn.Module]` или `dict[str, torch.Tensor]`) : State dict слоёв LoRA, соответствующих `transformer`. text_encoder_lora_layers (`dict[str, torch.nn.Module]` или `dict[str, torch.Tensor]`) : Словарь состояний (state dict) слоёв LoRA, соответствующих `text_encoder`. Необходимо явно передать словарь состояний LoRA для текстового энкодера, так как он поступает из 🤗 Transformers. is_main_process (`bool`, *необязательный*, по умолчанию `True`) : Указывает, является ли процесс, вызывающий данный метод, основным. Полезно при распределённом обучении, когда необходимо вызвать эту функцию во всех процессах. В этом случае установите `is_main_process=True` только в основном процессе, чтобы избежать гонок. save_function (`Callable`) : функция, используемая для сохранения словаря состояния. Полезно при распределённом обучении, когда необходимо заменить `torch.save` на другой метод. Может быть настроено с помощью переменной окружения `DIFFUSERS_SAVE_MODE`. safe_serialization (`bool`, *необязательный*, по умолчанию `True`) : Сохранять ли модель с помощью `safetensors` или традиционным способом PyTorch с использованием `pickle`. transformer_lora_adapter_metadata : метаданные адаптера LoRA, связанные с трансформером, которые будут сериализованы вместе со словарем состояний. text_encoder_lora_adapter_metadata : метаданные адаптера LoRA, связанные с текстовым энкодером, которые будут сериализованы вместе со словарем состояний. Сохраните параметры LoRA, соответствующие UNet и текстовому энкодеру. #### unfuse_lora[[diffusers.loaders.FluxLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer', 'text_encoder'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1911) **Параметры:** components (`list[str]`) : список компонентов, в которые можно внедрить LoRA, для отмены внедрения LoRA. Отменяет действие [`pipe.fuse_lora()`](https://huggingface.co/docs/diffusers/main/en/api/loaders#diffusers.loaders.LoraBaseMixin.fuse_lora). #### unload_lora_weights[[diffusers.loaders.FluxLoraLoaderMixin.unload_lora_weights]] ```python unload_lora_weights(reset_to_overwritten_params = False) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1926) **Параметры:** reset_to_overwritten_params (`bool`, по умолчанию `False`) : Сбрасывать ли модули, загруженные с LoRA, к их исходным параметрам. Подробнее см. в [документации Flux](https://huggingface.co/docs/diffusers/main/en/api/pipelines/flux). Разгружает параметры LoRA. Примеры: ```python >>> # Assuming `pipeline` is already loaded with the LoRA parameters. >>> pipeline.unload_lora_weights() >>> ... ``` ## Flux2LoraLoaderMixin[[diffusers.loaders.Flux2LoraLoaderMixin]] #### diffusers.loaders.Flux2LoraLoaderMixin[[diffusers.loaders.Flux2LoraLoaderMixin]] ```python diffusers.loaders.Flux2LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5773) Загрузка слоёв LoRA в [Flux2Transformer2DModel](/docs/diffusers/main/ru/api/models/flux2_transformer#diffusers.Flux2Transformer2DModel). Специфично для [Flux2Pipeline](/docs/diffusers/main/ru/api/pipelines/flux2#diffusers.Flux2Pipeline). #### fuse_lora[[diffusers.loaders.Flux2LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5957) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.Flux2LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5894) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.Flux2LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5859) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.Flux2LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5781) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.Flux2LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5921) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.Flux2LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5977) Подробнее см. в `unfuse_lora()`. ## Flux3LoraLoaderMixin[[diffusers.loaders.Flux3LoraLoaderMixin]] #### diffusers.loaders.Flux3LoraLoaderMixin[[diffusers.loaders.Flux3LoraLoaderMixin]] ```python diffusers.loaders.Flux3LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5984) #### fuse_lora[[diffusers.loaders.Flux3LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6139) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.Flux3LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6076) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.Flux3LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6040) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### save_lora_weights[[diffusers.loaders.Flux3LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6103) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.Flux3LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6159) Подробнее см. в `unfuse_lora()`. ## BriaFibo2LoraLoaderMixin[[diffusers.loaders.BriaFibo2LoraLoaderMixin]] #### diffusers.loaders.BriaFibo2LoraLoaderMixin[[diffusers.loaders.BriaFibo2LoraLoaderMixin]] ```python diffusers.loaders.BriaFibo2LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6166) Загрузка слоёв LoRA в [BriaFibo2Transformer2DModel](/docs/diffusers/main/ru/api/models/transformer_bria_fibo2#diffusers.BriaFibo2Transformer2DModel). Специфично для [BriaFibo2Pipeline](/docs/diffusers/main/ru/api/pipelines/bria_fibo2#diffusers.BriaFibo2Pipeline). #### fuse_lora[[diffusers.loaders.BriaFibo2LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6328) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.BriaFibo2LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6265) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.BriaFibo2LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6229) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.BriaFibo2LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6174) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.BriaFibo2LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6292) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.BriaFibo2LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6348) Подробнее см. в `unfuse_lora()`. ## ErnieImageLoraLoaderMixin[[diffusers.loaders.ErnieImageLoraLoaderMixin]] #### diffusers.loaders.ErnieImageLoraLoaderMixin[[diffusers.loaders.ErnieImageLoraLoaderMixin]] ```python diffusers.loaders.ErnieImageLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6551) Загрузка слоёв LoRA в [ErnieImageTransformer2DModel](/docs/diffusers/main/ru/api/models/ernie_image_transformer2d#diffusers.ErnieImageTransformer2DModel). Специфично для `ErnieImagePipeline`. #### fuse_lora[[diffusers.loaders.ErnieImageLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6724) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.ErnieImageLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6661) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.ErnieImageLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6625) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.ErnieImageLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6559) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.ErnieImageLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6688) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.ErnieImageLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6744) Подробнее см. в `unfuse_lora()`. ## LTX2LoraLoaderMixin[[diffusers.loaders.LTX2LoraLoaderMixin]] #### diffusers.loaders.LTX2LoraLoaderMixin[[diffusers.loaders.LTX2LoraLoaderMixin]] ```python diffusers.loaders.LTX2LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2919) Загрузка слоёв LoRA в [LTX2VideoTransformer3DModel](/docs/diffusers/main/ru/api/models/ltx2_video_transformer3d#diffusers.LTX2VideoTransformer3DModel). Специфично для [LTX2Pipeline](/docs/diffusers/main/ru/api/pipelines/ltx2#diffusers.LTX2Pipeline). #### fuse_lora[[diffusers.loaders.LTX2LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3108) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.LTX2LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None, prefix: str = 'transformer') ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3044) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.LTX2LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2992) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.LTX2LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2928) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.LTX2LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3072) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.LTX2LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3128) Подробнее см. в `unfuse_lora()`. ## CogVideoXLoraLoaderMixin[[diffusers.loaders.CogVideoXLoraLoaderMixin]] #### diffusers.loaders.CogVideoXLoraLoaderMixin[[diffusers.loaders.CogVideoXLoraLoaderMixin]] ```python diffusers.loaders.CogVideoXLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2353) Загрузка слоёв LoRA в [CogVideoXTransformer3DModel](/docs/diffusers/main/ru/api/models/cogvideox_transformer3d#diffusers.CogVideoXTransformer3DModel). Специфично для [CogVideoXPipeline](/docs/diffusers/main/ru/api/pipelines/cogvideox#diffusers.CogVideoXPipeline). #### fuse_lora[[diffusers.loaders.CogVideoXLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2512) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.CogVideoXLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2451) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.CogVideoXLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2416) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.CogVideoXLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2361) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.CogVideoXLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2478) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.CogVideoXLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2531) Подробнее см. в `unfuse_lora()`. ## Mochi1LoraLoaderMixin[[diffusers.loaders.Mochi1LoraLoaderMixin]] #### diffusers.loaders.Mochi1LoraLoaderMixin[[diffusers.loaders.Mochi1LoraLoaderMixin]] ```python diffusers.loaders.Mochi1LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2538) Загрузка слоёв LoRA в [MochiTransformer3DModel](/docs/diffusers/main/ru/api/models/mochi_transformer3d#diffusers.MochiTransformer3DModel). Специфично для [MochiPipeline](/docs/diffusers/main/ru/api/pipelines/mochi#diffusers.MochiPipeline). #### fuse_lora[[diffusers.loaders.Mochi1LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2700) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.Mochi1LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2637) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.Mochi1LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2601) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.Mochi1LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2546) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.Mochi1LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2664) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.Mochi1LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2720) Подробнее см. в `unfuse_lora()`. ## AuraFlowLoraLoaderMixin[[diffusers.loaders.AuraFlowLoraLoaderMixin]] #### diffusers.loaders.AuraFlowLoraLoaderMixin[[diffusers.loaders.AuraFlowLoraLoaderMixin]] ```python diffusers.loaders.AuraFlowLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1252) Загрузка слоёв LoRA в [AuraFlowTransformer2DModel](/docs/diffusers/main/ru/api/models/aura_flow_transformer2d#diffusers.AuraFlowTransformer2DModel) Специфично для [AuraFlowPipeline](/docs/diffusers/main/ru/api/pipelines/aura_flow#diffusers.AuraFlowPipeline). #### fuse_lora[[diffusers.loaders.AuraFlowLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1414) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.AuraFlowLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1351) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.AuraFlowLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1315) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.AuraFlowLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1260) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.AuraFlowLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1378) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.AuraFlowLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer', 'text_encoder'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L1434) Подробнее см. в `unfuse_lora()`. ## LTXVideoLoraLoaderMixin[[diffusers.loaders.LTXVideoLoraLoaderMixin]] #### diffusers.loaders.LTXVideoLoraLoaderMixin[[diffusers.loaders.LTXVideoLoraLoaderMixin]] ```python diffusers.loaders.LTXVideoLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2727) Загрузка слоёв LoRA в [LTXVideoTransformer3DModel](/docs/diffusers/main/ru/api/models/ltx_video_transformer3d#diffusers.LTXVideoTransformer3DModel). Специфично для [LTXPipeline](/docs/diffusers/main/ru/api/pipelines/ltx_video#diffusers.LTXPipeline). #### fuse_lora[[diffusers.loaders.LTXVideoLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2892) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.LTXVideoLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2829) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.LTXVideoLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2793) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.LTXVideoLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2735) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.LTXVideoLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2856) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.LTXVideoLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2912) Подробнее см. в `unfuse_lora()`. ## SanaLoraLoaderMixin[[diffusers.loaders.SanaLoraLoaderMixin]] #### diffusers.loaders.SanaLoraLoaderMixin[[diffusers.loaders.SanaLoraLoaderMixin]] ```python diffusers.loaders.SanaLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3135) Загрузите слои LoRA в [SanaTransformer2DModel](/docs/diffusers/main/ru/api/models/sana_transformer2d#diffusers.SanaTransformer2DModel). Специфично для [SanaPipeline](/docs/diffusers/main/ru/api/pipelines/sana#diffusers.SanaPipeline). #### fuse_lora[[diffusers.loaders.SanaLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3297) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.SanaLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3234) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.SanaLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3198) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.SanaLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3143) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.SanaLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3261) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.SanaLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3317) Подробнее см. в `unfuse_lora()`. ## HeliosLoraLoaderMixin[[diffusers.loaders.HeliosLoraLoaderMixin]] #### diffusers.loaders.HeliosLoraLoaderMixin[[diffusers.loaders.HeliosLoraLoaderMixin]] ```python diffusers.loaders.HeliosLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3324) Загрузка слоёв LoRA в [HeliosTransformer3DModel](/docs/diffusers/main/ru/api/models/helios_transformer3d#diffusers.HeliosTransformer3DModel). Специфично для [HeliosPipeline](/docs/diffusers/main/ru/api/pipelines/helios#diffusers.HeliosPipeline) и [HeliosPyramidPipeline](/docs/diffusers/main/ru/api/pipelines/helios#diffusers.HeliosPyramidPipeline). #### fuse_lora[[diffusers.loaders.HeliosLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3487) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.HeliosLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3424) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.HeliosLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3390) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.HeliosLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3332) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.HeliosLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3451) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.HeliosLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3507) Подробнее см. в `unfuse_lora()`. ## HunyuanVideoLoraLoaderMixin[[diffusers.loaders.HunyuanVideoLoraLoaderMixin]] #### diffusers.loaders.HunyuanVideoLoraLoaderMixin[[diffusers.loaders.HunyuanVideoLoraLoaderMixin]] ```python diffusers.loaders.HunyuanVideoLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3514) Загрузка слоёв LoRA в [HunyuanVideoTransformer3DModel](/docs/diffusers/main/ru/api/models/hunyuan_video_transformer_3d#diffusers.HunyuanVideoTransformer3DModel). Специфично для [HunyuanVideoPipeline](/docs/diffusers/main/ru/api/pipelines/hunyuan_video#diffusers.HunyuanVideoPipeline). #### fuse_lora[[diffusers.loaders.HunyuanVideoLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3679) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.HunyuanVideoLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3616) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.HunyuanVideoLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3580) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.HunyuanVideoLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3522) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.HunyuanVideoLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3643) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.HunyuanVideoLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3699) Подробнее см. в `unfuse_lora()`. ## Lumina2LoraLoaderMixin[[diffusers.loaders.Lumina2LoraLoaderMixin]] #### diffusers.loaders.Lumina2LoraLoaderMixin[[diffusers.loaders.Lumina2LoraLoaderMixin]] ```python diffusers.loaders.Lumina2LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3706) Загрузка слоёв LoRA в [Lumina2Transformer2DModel](/docs/diffusers/main/ru/api/models/lumina2_transformer2d#diffusers.Lumina2Transformer2DModel). Специфично для [Lumina2Pipeline](/docs/diffusers/main/ru/api/pipelines/lumina2#diffusers.Lumina2Pipeline). #### fuse_lora[[diffusers.loaders.Lumina2LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3872) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.Lumina2LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3809) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.Lumina2LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3773) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.Lumina2LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3714) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.Lumina2LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3836) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.Lumina2LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3892) Подробнее см. в `unfuse_lora()`. ## CogView4LoraLoaderMixin[[diffusers.loaders.CogView4LoraLoaderMixin]] #### diffusers.loaders.CogView4LoraLoaderMixin[[diffusers.loaders.CogView4LoraLoaderMixin]] ```python diffusers.loaders.CogView4LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4617) Загрузка слоёв LoRA в [WanTransformer3DModel](/docs/diffusers/main/ru/api/models/wan_transformer_3d#diffusers.WanTransformer3DModel). Специфично для [CogView4Pipeline](/docs/diffusers/main/ru/api/pipelines/cogview4#diffusers.CogView4Pipeline). #### fuse_lora[[diffusers.loaders.CogView4LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4779) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.CogView4LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4716) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.CogView4LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4680) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.CogView4LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4625) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.CogView4LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4743) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.CogView4LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4799) Подробнее см. в `unfuse_lora()`. ## WanLoraLoaderMixin[[diffusers.loaders.WanLoraLoaderMixin]] #### diffusers.loaders.WanLoraLoaderMixin[[diffusers.loaders.WanLoraLoaderMixin]] ```python diffusers.loaders.WanLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4088) Загрузка слоёв LoRA в [WanTransformer3DModel](/docs/diffusers/main/ru/api/models/wan_transformer_3d#diffusers.WanTransformer3DModel). Специфично для [WanPipeline](/docs/diffusers/main/ru/api/pipelines/wan#diffusers.WanPipeline) и `[WanImageToVideoPipeline`. #### fuse_lora[[diffusers.loaders.WanLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4324) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.WanLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4261) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.WanLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4202) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.WanLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4096) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.WanLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4288) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.WanLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4344) Подробнее см. в `unfuse_lora()`. ## SkyReelsV2LoraLoaderMixin[[diffusers.loaders.SkyReelsV2LoraLoaderMixin]] #### diffusers.loaders.SkyReelsV2LoraLoaderMixin[[diffusers.loaders.SkyReelsV2LoraLoaderMixin]] ```python diffusers.loaders.SkyReelsV2LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4351) Загрузите слои LoRA в [SkyReelsV2Transformer3DModel](/docs/diffusers/main/ru/api/models/skyreels_v2_transformer_3d#diffusers.SkyReelsV2Transformer3DModel). #### fuse_lora[[diffusers.loaders.SkyReelsV2LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4590) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.SkyReelsV2LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4527) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.SkyReelsV2LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4467) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.SkyReelsV2LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4359) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.SkyReelsV2LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4554) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.SkyReelsV2LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4610) Подробнее см. в `unfuse_lora()`. ## AmusedLoraLoaderMixin[[diffusers.loaders.AmusedLoraLoaderMixin]] #### diffusers.loaders.AmusedLoraLoaderMixin[[diffusers.loaders.AmusedLoraLoaderMixin]] ```python diffusers.loaders.AmusedLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2206) #### load_lora_into_transformer[[diffusers.loaders.AmusedLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, network_alphas, transformer, adapter_name = None, metadata = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2211) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### save_lora_weights[[diffusers.loaders.AmusedLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, text_encoder_lora_layers: dict[str, torch.nn.Module] = None, transformer_lora_layers: dict[str, torch.nn.Module] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L2298) **Параметры:** save_directory (`str` или `os.PathLike`) : Каталог для сохранения параметров LoRA. Будет создан, если не существует. unet_lora_layers (`dict[str, torch.nn.Module]` или `dict[str, torch.Tensor]`) : Словарь состояний слоёв LoRA, соответствующих `unet`. text_encoder_lora_layers (`dict[str, torch.nn.Module]` или `dict[str, torch.Tensor]`) : Словарь состояний (state dict) слоёв LoRA, соответствующих `text_encoder`. Необходимо явно передать словарь состояний LoRA для текстового энкодера, так как он поступает из 🤗 Transformers. is_main_process (`bool`, *необязательный*, по умолчанию `True`) : Указывает, является ли процесс, вызывающий данный метод, основным. Полезно при распределённом обучении, когда необходимо вызвать эту функцию во всех процессах. В этом случае установите `is_main_process=True` только в основном процессе, чтобы избежать гонок. save_function (`Callable`) : функция, используемая для сохранения словаря состояния. Полезно при распределённом обучении, когда необходимо заменить `torch.save` на другой метод. Может быть настроено с помощью переменной окружения `DIFFUSERS_SAVE_MODE`. safe_serialization (`bool`, *необязательный*, по умолчанию `True`) : Сохранять ли модель с помощью `safetensors` или традиционным способом PyTorch с использованием `pickle`. Сохраните параметры LoRA, соответствующие UNet и текстовому энкодеру. ## AnimaLoraLoaderMixin[[diffusers.loaders.AnimaLoraLoaderMixin]] #### diffusers.loaders.AnimaLoraLoaderMixin[[diffusers.loaders.AnimaLoraLoaderMixin]] ```python diffusers.loaders.AnimaLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5587) Загрузите слои LoRA в [CosmosTransformer3DModel](/docs/diffusers/main/ru/api/models/cosmos_transformer3d#diffusers.CosmosTransformer3DModel) и [AnimaTextConditioner](/docs/diffusers/main/ru/api/pipelines/anima#diffusers.AnimaTextConditioner). #### fuse_lora[[diffusers.loaders.AnimaLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer', 'text_conditioner'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5747) Подробнее см. в `fuse_lora()`. #### load_lora_weights[[diffusers.loaders.AnimaLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5652) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.AnimaLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5596) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### unfuse_lora[[diffusers.loaders.AnimaLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer', 'text_conditioner'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5766) Подробнее см. в `unfuse_lora()`. ## AceStepLoraLoaderMixin[[diffusers.loaders.AceStepLoraLoaderMixin]] #### diffusers.loaders.AceStepLoraLoaderMixin[[diffusers.loaders.AceStepLoraLoaderMixin]] ```python diffusers.loaders.AceStepLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6941) Загрузка слоёв LoRA в [AceStepTransformer1DModel](/docs/diffusers/main/ru/api/models/ace_step_transformer#diffusers.AceStepTransformer1DModel). Специфично для [AceStepPipeline](/docs/diffusers/main/ru/api/pipelines/ace_step#diffusers.AceStepPipeline). #### fuse_lora[[diffusers.loaders.AceStepLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7105) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.AceStepLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7042) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.AceStepLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7006) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.AceStepLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6949) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.AceStepLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7069) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.AceStepLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7125) Подробнее см. в `unfuse_lora()`. ## HiDreamImageLoraLoaderMixin[[diffusers.loaders.HiDreamImageLoraLoaderMixin]] #### diffusers.loaders.HiDreamImageLoraLoaderMixin[[diffusers.loaders.HiDreamImageLoraLoaderMixin]] ```python diffusers.loaders.HiDreamImageLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4806) Загрузка слоёв LoRA в [HiDreamImageTransformer2DModel](/docs/diffusers/main/ru/api/models/hidream_image_transformer#diffusers.HiDreamImageTransformer2DModel). Специфично для [HiDreamImagePipeline](/docs/diffusers/main/ru/api/pipelines/hidream#diffusers.HiDreamImagePipeline). #### fuse_lora[[diffusers.loaders.HiDreamImageLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4971) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.HiDreamImageLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4908) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.HiDreamImageLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4872) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.HiDreamImageLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4814) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.HiDreamImageLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4935) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.HiDreamImageLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4991) Подробнее см. в `unfuse_lora()`. ## QwenImageLoraLoaderMixin[[diffusers.loaders.QwenImageLoraLoaderMixin]] #### diffusers.loaders.QwenImageLoraLoaderMixin[[diffusers.loaders.QwenImageLoraLoaderMixin]] ```python diffusers.loaders.QwenImageLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4998) Загрузка слоёв LoRA в [QwenImageTransformer2DModel](/docs/diffusers/main/ru/api/models/qwenimage_transformer2d#diffusers.QwenImageTransformer2DModel). Специфично для [QwenImagePipeline](/docs/diffusers/main/ru/api/pipelines/qwenimage#diffusers.QwenImagePipeline). #### fuse_lora[[diffusers.loaders.QwenImageLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5166) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.QwenImageLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5103) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.QwenImageLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5067) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.QwenImageLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5006) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.QwenImageLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5130) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.QwenImageLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5186) Подробнее см. в `unfuse_lora()`. ## ZImageLoraLoaderMixin[[diffusers.loaders.ZImageLoraLoaderMixin]] #### diffusers.loaders.ZImageLoraLoaderMixin[[diffusers.loaders.ZImageLoraLoaderMixin]] ```python diffusers.loaders.ZImageLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5387) Загрузите слои LoRA в [ZImageTransformer2DModel](/docs/diffusers/main/ru/api/models/z_image_transformer2d#diffusers.ZImageTransformer2DModel). Специфично для [ZImagePipeline](/docs/diffusers/main/ru/api/pipelines/z_image#diffusers.ZImagePipeline). #### fuse_lora[[diffusers.loaders.ZImageLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5560) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.ZImageLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5497) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.ZImageLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5461) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.ZImageLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5395) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.ZImageLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5524) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.ZImageLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5580) Подробнее см. в `unfuse_lora()`. ## CosmosLoraLoaderMixin[[diffusers.loaders.CosmosLoraLoaderMixin]] #### diffusers.loaders.CosmosLoraLoaderMixin[[diffusers.loaders.CosmosLoraLoaderMixin]] ```python diffusers.loaders.CosmosLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6751) Загрузите слои LoRA в [CosmosTransformer3DModel](/docs/diffusers/main/ru/api/models/cosmos_transformer3d#diffusers.CosmosTransformer3DModel), специфичные для [Cosmos2_5_PredictBasePipeline](/docs/diffusers/main/ru/api/pipelines/cosmos#diffusers.Cosmos2_5_PredictBasePipeline). #### fuse_lora[[diffusers.loaders.CosmosLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6914) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.CosmosLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6851) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.CosmosLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6815) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.CosmosLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6760) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.CosmosLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6878) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.CosmosLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6934) Подробнее см. в `unfuse_lora()`. ## KandinskyLoraLoaderMixin[[diffusers.loaders.KandinskyLoraLoaderMixin]] #### diffusers.loaders.KandinskyLoraLoaderMixin[[diffusers.loaders.KandinskyLoraLoaderMixin]] ```python diffusers.loaders.KandinskyLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3899) Загрузите слои LoRA в `Kandinsky5Transformer3DModel`, #### fuse_lora[[diffusers.loaders.KandinskyLoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4061) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.KandinskyLoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3998) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.KandinskyLoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3962) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.KandinskyLoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L3907) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.KandinskyLoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4025) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.KandinskyLoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L4081) Подробнее см. в `unfuse_lora()`. ## Ideogram4LoraLoaderMixin[[diffusers.loaders.Ideogram4LoraLoaderMixin]] #### diffusers.loaders.Ideogram4LoraLoaderMixin[[diffusers.loaders.Ideogram4LoraLoaderMixin]] ```python diffusers.loaders.Ideogram4LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6355) Загрузка слоёв LoRA в [Ideogram4Transformer2DModel](/docs/diffusers/main/ru/api/models/ideogram4_transformer2d#diffusers.Ideogram4Transformer2DModel). Специфично для [Ideogram4Pipeline](/docs/diffusers/main/ru/api/pipelines/ideogram4#diffusers.Ideogram4Pipeline). #### fuse_lora[[diffusers.loaders.Ideogram4LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6524) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.Ideogram4LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6461) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.Ideogram4LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6425) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.Ideogram4LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6363) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.Ideogram4LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6488) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.Ideogram4LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L6544) Подробнее см. в `unfuse_lora()`. ## Krea2LoraLoaderMixin[[diffusers.loaders.Krea2LoraLoaderMixin]] #### diffusers.loaders.Krea2LoraLoaderMixin[[diffusers.loaders.Krea2LoraLoaderMixin]] ```python diffusers.loaders.Krea2LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5193) Загрузите слои LoRA в [Krea2Transformer2DModel](/docs/diffusers/main/ru/api/models/krea2_transformer2d#diffusers.Krea2Transformer2DModel). Специфично для [Krea2Pipeline](/docs/diffusers/main/ru/api/pipelines/krea2#diffusers.Krea2Pipeline). #### fuse_lora[[diffusers.loaders.Krea2LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5360) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.Krea2LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5297) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.Krea2LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5261) Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.Krea2LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5201) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.Krea2LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5324) См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации. #### unfuse_lora[[diffusers.loaders.Krea2LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L5380) Подробнее см. в `unfuse_lora()`. ## MiniMaxH3LoraLoaderMixin[[diffusers.loaders.MiniMaxH3LoraLoaderMixin]] #### diffusers.loaders.MiniMaxH3LoraLoaderMixin[[diffusers.loaders.MiniMaxH3LoraLoaderMixin]] ```python diffusers.loaders.MiniMaxH3LoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7132) Загрузка слоёв LoRA в [MiniMaxH3Transformer3DModel](/docs/diffusers/main/ru/api/models/minimax_h3_transformer3d#diffusers.MiniMaxH3Transformer3DModel). Специфично для [MiniMaxH3ModularPipeline](/docs/diffusers/main/ru/api/pipelines/minimax_h3#diffusers.MiniMaxH3ModularPipeline). MiniMax-H3 содержит два независимых раздела DiT с одинаковыми именами модулей (LoRA для одного загружается в другой и ухудшает результат), поэтому маршрутизация выполняется явно: преобразованные state dict нацелены на `transformer.`; доступ к `transformer_ref` осуществляется с помощью файла с префиксом `transformer_ref.` или параметра `load_into_transformer_ref=True`. LoRA-модели DiffSynth-Studio (например, [DiffSynth-Studio/MiniMax-H3-LoRA-LineartAnime](https://huggingface.co/DiffSynth-Studio/MiniMax-H3-LoRA-LineartAnime)) обучаются на основе слияния QKV с чередованием по головам из исходной контрольной точки и деинтерлинируются при конвертации. Их fp32-коэффициенты заставляют вычисления в пути несоединённого LoRA выполняться в fp32; применение `.to(torch.bfloat16)` к модели после загрузки восстанавливает бюджет памяти bf16. LoRA, обученные на обрезанном контрольном пункте (файлы `*_pruned_*` в [Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3); [joyfox/MiniMax-H3-Turbo](https://huggingface.co/joyfox/MiniMax-H3-Turbo) — один из них), не загружаются из-за несовпадения размеров. Файлы без альфы загружаются с `alpha == rank` (масштаб 1.0, конвенция, указанная, например, в [larryvrh/MiniMax-H3-Turbo-Lora](https://huggingface.co/larryvrh/MiniMax-H3-Turbo-Lora)); если же в `__metadata__` присутствует запись `alpha` (например, в 8-шаговом файле [lightx2v/Minimax-h3-Turbo](https://huggingface.co/lightx2v/Minimax-h3-Turbo)), она используется вместо этого. #### fuse_lora[[diffusers.loaders.MiniMaxH3LoraLoaderMixin.fuse_lora]] ```python fuse_lora(components: list[str] = ['transformer', 'transformer_ref'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7489) Подробнее см. в `fuse_lora()`. #### load_lora_into_transformer[[diffusers.loaders.MiniMaxH3LoraLoaderMixin.load_lora_into_transformer]] ```python load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7389) Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_into_transformer_ref[[diffusers.loaders.MiniMaxH3LoraLoaderMixin.load_lora_into_transformer_ref]] ```python load_lora_into_transformer_ref(state_dict, transformer_ref, prefix, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7416) Загрузите слои LoRA в раздел `transformer_ref`. `prefix` — это имя компонента, которое несут ключи: `transformer_ref` для файла, в котором раздел указан по имени, и `transformer` для файла, перенаправленного сюда с помощью `load_into_transformer_ref=True`. Подробнее см. [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet). #### load_lora_weights[[diffusers.loaders.MiniMaxH3LoraLoaderMixin.load_lora_weights]] ```python load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, load_into_transformer_ref: bool = False, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7274) **Параметры:** load_into_transformer_ref (`bool`, по умолчанию `False`) : Загружать слои с префиксом `transformer.` в раздел `transformer_ref` — тот, с которым работает процесс шумоподавления в workflow `ref2va` — вместо `transformer`. Требуется только при загрузке обоих разделов: пайплайн, содержащий лишь `transformer_ref`, автоматически использует его. Загрузите слои LoRA в `transformer` или, при `load_into_transformer_ref=True`, в `transformer_ref`. Подробнее см. [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights). #### lora_state_dict[[diffusers.loaders.MiniMaxH3LoraLoaderMixin.lora_state_dict]] ```python lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7159) Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict). #### save_lora_weights[[diffusers.loaders.MiniMaxH3LoraLoaderMixin.save_lora_weights]] ```python save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, transformer_ref_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None, transformer_ref_lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7446) Сохраните слои LoRA для одного или обоих разделов MiniMax-H3. По ключам невозможно определить, к какому разделу относится LoRA, поэтому это единственный способ опубликовать LoRA для H3 с зафиксированной этой информацией. Подробности см. в [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights). #### unfuse_lora[[diffusers.loaders.MiniMaxH3LoraLoaderMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] = ['transformer', 'transformer_ref'], **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7508) Подробнее см. в `unfuse_lora()`. ## PikaH3FlexLoraLoaderMixin[[diffusers.loaders.PikaH3FlexLoraLoaderMixin]] #### diffusers.loaders.PikaH3FlexLoraLoaderMixin[[diffusers.loaders.PikaH3FlexLoraLoaderMixin]] ```python diffusers.loaders.PikaH3FlexLoraLoaderMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7515) Загрузка слоёв LoRA в [MiniMaxH3Transformer3DModel](/docs/diffusers/main/ru/api/models/minimax_h3_transformer3d#diffusers.MiniMaxH3Transformer3DModel). Специфично для [PikaH3FlexModularPipeline](/docs/diffusers/main/ru/api/pipelines/pika_h3_flex#diffusers.PikaH3FlexModularPipeline). Выпуск Pika H3 Flex *представляет собой* пару адаптеров rank-128 для двух трансформерных разделов MiniMax-H3, опубликованных в виде обычных PEFT-дампов с именами модулей diffusers (`fl2va/adapter.safetensors` для `transformer`, `ref2va/adapter.safetensors` для `transformer_ref`). Файлы без alpha загружаются с `alpha == rank` (масштаб 1.0), что соответствует собственному контракту адаптеров, а загрузка, маршрутизация и сохранение выполняются по правилам `MiniMaxH3LoraLoaderMixin`: адаптер `fl2va` помещается в `transformer`, а адаптер `ref2va` — в `transformer_ref` — самостоятельно, если пайплайн содержит только этот раздел (`workflow="ref2va"`), или с `load_into_transformer_ref=True`, если содержит оба. ```py pipe.load_lora_weights("Pika-Labs/Pika-H3-Flex", weight_name="fl2va/adapter.safetensors") ``` ## LoraBaseMixin[[diffusers.loaders.lora_base.LoraBaseMixin]] #### diffusers.loaders.lora_base.LoraBaseMixin[[diffusers.loaders.lora_base.LoraBaseMixin]] ```python diffusers.loaders.lora_base.LoraBaseMixin() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L491) Вспомогательный класс для работы с LoRA. #### delete_adapters[[diffusers.loaders.lora_base.LoraBaseMixin.delete_adapters]] ```python delete_adapters(adapter_names: list[str] | str) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L873) **Параметры:** adapter_names (`list[str, str]`) : Имена адаптеров, которые нужно удалить. Удалите слои LoRA адаптера из конвейера. Пример: ```py from diffusers import AutoPipelineForText2Image import torch pipeline = AutoPipelineForText2Image.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights( "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_names="cinematic" ) pipeline.delete_adapters("cinematic") ``` #### disable_lora[[diffusers.loaders.lora_base.LoraBaseMixin.disable_lora]] ```python disable_lora() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L813) Отключает активные слои LoRA в конвейере. Пример: ```py from diffusers import AutoPipelineForText2Image import torch pipeline = AutoPipelineForText2Image.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights( "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic" ) pipeline.disable_lora() ``` #### enable_lora[[diffusers.loaders.lora_base.LoraBaseMixin.enable_lora]] ```python enable_lora() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L843) Включает активные слои LoRA в конвейере. Пример: ```py from diffusers import AutoPipelineForText2Image import torch pipeline = AutoPipelineForText2Image.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights( "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic" ) pipeline.enable_lora() ``` #### enable_lora_hotswap[[diffusers.loaders.lora_base.LoraBaseMixin.enable_lora_hotswap]] ```python enable_lora_hotswap(**kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L1020) **Параметры:** target_rank (`int`) : Самый высокий ранг среди всех адаптеров, которые будут загружены. check_compiled (`str`, *необязательный*, по умолчанию `"error"`) : способ обработки модели, которая уже скомпилирована. Проверка может вернуть следующие сообщения: - "error" (по умолчанию): вызвать ошибку - "warn": вывести предупреждение - "ignore": ничего не делать Горячая замена адаптеров без запуска повторной компиляции модели или в случае, если ранги загруженных адаптеров различаются. #### fuse_lora[[diffusers.loaders.lora_base.LoraBaseMixin.fuse_lora]] ```python fuse_lora(components: list[str] | None = None, lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L549) **Параметры:** components : (`list[str]`): список компонентов, в которые можно внедрить LoRA, для слияния LoRAs. lora_scale (`float`, по умолчанию 1.0) : Определяет, насколько сильно параметры LoRA влияют на выходные данные. safe_fusing (`bool`, по умолчанию `False`) : Проверять ли объединённые веса на наличие значений NaN перед объединением и не объединять их, если значения равны NaN. adapter_names (`list[str]`, *необязательный*) : Имена адаптеров, которые будут использоваться для слияния. Если ничего не передано, будут слиты все активные адаптеры. Сливает параметры LoRA в исходные параметры соответствующих блоков. Пример: ```py from diffusers import DiffusionPipeline import torch pipeline = DiffusionPipeline.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights("nerijs/pixel-art-xl", weight_name="pixel-art-xl.safetensors", adapter_name="pixel") pipeline.fuse_lora(lora_scale=0.7) ``` #### get_active_adapters[[diffusers.loaders.lora_base.LoraBaseMixin.get_active_adapters]] ```python get_active_adapters() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L911) Получает список текущих активных адаптеров. Пример: ```python from diffusers import DiffusionPipeline pipeline = DiffusionPipeline.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", ).to("cuda") pipeline.load_lora_weights("CiroN2022/toy-face", weight_name="toy_face_sdxl.safetensors", adapter_name="toy") pipeline.get_active_adapters() ``` #### get_list_adapters[[diffusers.loaders.lora_base.LoraBaseMixin.get_list_adapters]] ```python get_list_adapters() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L944) Получает текущий список всех доступных адаптеров в конвейере. #### set_adapters[[diffusers.loaders.lora_base.LoraBaseMixin.set_adapters]] ```python set_adapters(adapter_names: list[str] | str, adapter_weights: float | dict[str, float | dict | None] | list[float | dict[str, float | dict | None] | None] | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L698) **Параметры:** adapter_names (`list[str]` или `str`) : Имена адаптеров, которые следует использовать. adapter_weights (`float`, `dict` или `list`, *необязательный*) : Веса для адаптеров. Скаляр масштабирует все компоненты, совместимые с LoRA. Словарь сопоставляет имена компонентов (например, `"unet"`, `"transformer"` или `"text_encoder"`) с весами; вес компонента UNet также может быть вложенным словарем масштабов блоков. Единственный скаляр или словарь применяется к каждому адаптеру. Список должен содержать по одному скаляру, словарю или `None` на каждый адаптер, в порядке `adapter_names`. `None` по умолчанию заменяется на `1.0`, включая элементы списка и веса компонентов. Нерасписанные компоненты и блоки UNet также по умолчанию имеют значение `1.0`. Установите адаптеры, активные в данный момент, для использования в конвейере. Пример: ```py from diffusers import AutoPipelineForText2Image import torch pipeline = AutoPipelineForText2Image.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16 ).to("cuda") pipeline.load_lora_weights( "jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic" ) pipeline.load_lora_weights( "troveski/sdxl-lora", weight_name="pytorch_lora_weights.safetensors", adapter_name="illustration" ) pipeline.set_adapters(["cinematic", "illustration"], adapter_weights=[0.5, 0.5]) pipeline.set_adapters( ["cinematic", "illustration"], adapter_weights=[{"unet": 0.5}, {"unet": 0.8, "text_encoder": 0.6}], ) ``` #### set_lora_device[[diffusers.loaders.lora_base.LoraBaseMixin.set_lora_device]] ```python set_lora_device(adapter_names: list[str], device: torch.device | str | int) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L966) **Параметры:** adapter_names (`list[str]`) : список адаптеров, на которые нужно отправить устройство. device (`torch.device | str | int`) : Устройство, на которое следует переместить адаптеры. Может быть устройством torch, строкой или целым числом. Перемещает LoRA, перечисленные в `adapter_names`, на целевое устройство. Полезно для выгрузки LoRA на CPU, если вы хотите загрузить несколько адаптеров и освободить часть памяти GPU. После переноса адаптеров LoRA на CPU, пока остальная часть модели остаётся на GPU, адаптеры LoRA больше не могут использоваться для инференса, так как это приведёт к несовпадению устройств. Не забудьте вернуть устройство на GPU перед использованием этих адаптеров LoRA для инференса. ```python >>> pipe.load_lora_weights(path_1, adapter_name="adapter-1") >>> pipe.load_lora_weights(path_2, adapter_name="adapter-2") >>> pipe.set_adapters("adapter-1") >>> image_1 = pipe(**kwargs) >>> # switch to adapter-2, offload adapter-1 >>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cpu") >>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cuda:0") >>> pipe.set_adapters("adapter-2") >>> image_2 = pipe(**kwargs) >>> # switch back to adapter-1, offload adapter-2 >>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cpu") >>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cuda:0") >>> pipe.set_adapters("adapter-1") >>> ... ``` #### unfuse_lora[[diffusers.loaders.lora_base.LoraBaseMixin.unfuse_lora]] ```python unfuse_lora(components: list[str] | None = None, **kwargs) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L636) **Параметры:** components (`list[str]`) : список компонентов, в которые можно внедрить LoRA, для отмены внедрения LoRA. unfuse_unet (`bool`, по умолчанию `True`) : Разъединять ли параметры LoRA для UNet. unfuse_text_encoder (`bool`, по умолчанию `True`) : Разъединять ли параметры LoRA текстового энкодера. Если текстовый энкодер не был модифицирован с помощью monkey-patching для включения параметров LoRA, этот параметр не окажет никакого эффекта. Отменяет действие [`pipe.fuse_lora()`](https://huggingface.co/docs/diffusers/main/en/api/loaders#diffusers.loaders.LoraBaseMixin.fuse_lora). #### unload_lora_weights[[diffusers.loaders.lora_base.LoraBaseMixin.unload_lora_weights]] ```python unload_lora_weights() ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L526) Разгружает параметры LoRA. Примеры: ```python >>> # Assuming `pipeline` is already loaded with the LoRA parameters. >>> pipeline.unload_lora_weights() >>> ... ``` #### write_lora_layers[[diffusers.loaders.lora_base.LoraBaseMixin.write_lora_layers]] ```python write_lora_layers(state_dict: dict[str, torch.Tensor], save_directory: str, is_main_process: bool, weight_name: str, save_function: Callable, safe_serialization: bool, lora_adapter_metadata: dict | None = None) ``` [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_base.py#L1043) Записывает state dict слоёв LoRA (опционально с метаданными) на диск.
# LoRA
LoRA — это быстрый и лёгкий метод обучения, который вставляет и обучает значительно меньшее количество параметров вместо всех параметров модели. Это приводит к созданию файла меньшего размера (~100 МБ) и упрощает быстрое обучение модели для освоения нового концепта. Веса LoRA обычно загружаются в denoiser, текстовый энкодер или в оба. Denoiser обычно соответствует UNet (например, [UNet2DConditionModel](/docs/diffusers/main/ru/api/models/unet2d-cond#diffusers.UNet2DConditionModel)) или Transformer (например, [SD3Transformer2DModel](/docs/diffusers/main/ru/api/models/sd3_transformer2d#diffusers.SD3Transformer2DModel)). Существует несколько классов для загрузки весов LoRA:
- `StableDiffusionLoraLoaderMixin` предоставляет функции для загрузки и выгрузки, слияния и разделения, а также включения и отключения и другие функции для управления весами LoRA. Этот класс можно использовать с любой моделью.
- `StableDiffusionXLLoraLoaderMixin` — это версия [Stable Diffusion (SDXL)](../../api/pipelines/stable_diffusion/stable_diffusion_xl) класса `StableDiffusionLoraLoaderMixin` для загрузки и сохранения весов LoRA. Используется только с моделью SDXL.
- `SD3LoraLoaderMixin` предоставляет аналогичные функции для [Stable Diffusion 3](https://huggingface.co/blog/sd3).
- `FluxLoraLoaderMixin` предоставляет аналогичные функции для [Flux](../pipelines/flux).
- `CogVideoXLoraLoaderMixin` предоставляет аналогичные функции для [CogVideoX](../pipelines/cogvideox).
- `Mochi1LoraLoaderMixin` предоставляет аналогичные функции для [Mochi](../pipelines/mochi).
- `AuraFlowLoraLoaderMixin` предоставляет аналогичные функции для [AuraFlow](https://huggingface.co/fal/AuraFlow).
- `LTXVideoLoraLoaderMixin` предоставляет аналогичные функции для [LTX-Video](../pipelines/ltx_video).
- `SanaLoraLoaderMixin` предоставляет аналогичные функции для [Sana](../pipelines/sana).
- `HeliosLoraLoaderMixin` предоставляет аналогичные функции для [HunyuanVideo](../pipelines/helios).
- `HunyuanVideoLoraLoaderMixin` предоставляет аналогичные функции для [HunyuanVideo](../pipelines/hunyuan_video).
- `Lumina2LoraLoaderMixin` предоставляет аналогичные функции для [Lumina2](../pipelines/lumina2).
- `WanLoraLoaderMixin` предоставляет аналогичные функции для [Wan](../pipelines/wan).
- `SkyReelsV2LoraLoaderMixin` предоставляет аналогичные функции для [SkyReels-V2](../pipelines/skyreels_v2).
- `CogView4LoraLoaderMixin` предоставляет аналогичные функции для [CogView4](../pipelines/cogview4).
- `AmusedLoraLoaderMixin` предназначен для `AmusedPipeline`.
- `AnimaLoraLoaderMixin` предоставляет аналогичные функции для [Anima](../pipelines/anima).
- `AceStepLoraLoaderMixin` предоставляет аналогичные функции для [ACE-Step](../pipelines/ace_step).
- `HiDreamImageLoraLoaderMixin` предоставляет аналогичные функции для [HiDream Image](../pipelines/hidream)
- `QwenImageLoraLoaderMixin` предоставляет аналогичные функции для [Qwen Image](../pipelines/qwenimage).
- `ZImageLoraLoaderMixin` предоставляет аналогичные функции для [Z-Image](../pipelines/z_image).
- `Flux2LoraLoaderMixin` предоставляет аналогичные функции для [Flux2](../pipelines/flux2).
- `ErnieImageLoraLoaderMixin` предоставляет аналогичные функции для [Ernie-Image](../pipelines/ernie_image).
- `LTX2LoraLoaderMixin` предоставляет аналогичные функции для [Flux2](../pipelines/ltx2).
- `MiniMaxH3LoraLoaderMixin` предоставляет аналогичные функции для [MiniMax-H3](../pipelines/minimax_h3).
- `PikaH3FlexLoraLoaderMixin` предоставляет аналогичные функции для [Pika H3 Flex](../pipelines/pika_h3_flex).
- `RFD4ProteinaLoraLoaderMixin` предоставляет аналогичные функции для [RFD4-Proteína](../pipelines/rfd4_proteina).
- `BriaFibo2LoraLoaderMixin` предоставляет аналогичные функции для [fibo-2](../pipelines/bria_fibo2).
- `LoraBaseMixin` предоставляет базовый класс с несколькими утилитами для слияния, отмены слияния, выгрузки LoRA и других операций.
> [!TIP]
> Чтобы узнать больше о том, как загрузить веса LoRA, см. руководство по загрузке [LoRA](../../tutorials/using_peft_for_inference).
## RFD4ProteinaLoraLoaderMixin[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin]]
#### diffusers.loaders.RFD4ProteinaLoraLoaderMixin[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin]]
```python
diffusers.loaders.RFD4ProteinaLoraLoaderMixin()
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7532)
Загрузите слои LoRA в [RFD4ProteinaTransformer](/docs/diffusers/main/ru/api/models/rfd4_proteina_transformer#diffusers.RFD4ProteinaTransformer).
Автоэнкодер используется в паре с чекпоинтом денойзера и не адаптируется, поэтому трансформер является единственным модулем, который можно загрузить.
#### fuse_lora[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.fuse_lora]]
```python
fuse_lora(components: list[str] = ['transformer'], lora_scale: float = 1.0, safe_fusing: bool = False, adapter_names: list[str] | None = None, **kwargs)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7694)
Подробнее см. в `fuse_lora()`.
#### load_lora_into_transformer[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.load_lora_into_transformer]]
```python
load_lora_into_transformer(state_dict, transformer, adapter_name = None, _pipeline = None, low_cpu_mem_usage = False, hotswap: bool = False, metadata = None)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7631)
Подробнее см. в [load_lora_into_unet()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_into_unet).
#### load_lora_weights[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.load_lora_weights]]
```python
load_lora_weights(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], adapter_name: str | None = None, hotswap: bool = False, **kwargs)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7595)
Подробнее см. в [load_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights).
#### lora_state_dict[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.lora_state_dict]]
```python
lora_state_dict(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7543)
Подробнее см. в [lora_state_dict()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.lora_state_dict).
#### save_lora_weights[[diffusers.loaders.RFD4ProteinaLoraLoaderMixin.save_lora_weights]]
```python
save_lora_weights(save_directory: str | os.PathLike, transformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = None, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, transformer_lora_adapter_metadata: dict | None = None)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/lora_pipeline.py#L7658)
См. [save_lora_weights()](/docs/diffusers/main/ru/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights) для получения дополнительной информации.

Xet Storage Details

Size:
186 kB
·
Xet hash:
126dd67a4de1ca3ea2a1e9212ad08789283f12d98f1d4cde6d3f9c138f479b76

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.