Diffusers documentation

LoRA

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

LoRA

LoRA — это быстрый и лёгкий метод обучения, который вставляет и обучает значительно меньшее количество параметров вместо всех параметров модели. Это приводит к созданию файла меньшего размера (~100 МБ) и упрощает быстрое обучение модели для освоения нового концепта. Веса LoRA обычно загружаются в denoiser, текстовый энкодер или в оба. Denoiser обычно соответствует UNet (например, UNet2DConditionModel) или Transformer (например, SD3Transformer2DModel). Существует несколько классов для загрузки весов LoRA:

  • StableDiffusionLoraLoaderMixin предоставляет функции для загрузки и выгрузки, слияния и разделения, а также включения и отключения и другие функции для управления весами LoRA. Этот класс можно использовать с любой моделью.
  • StableDiffusionXLLoraLoaderMixin — это версия Stable Diffusion (SDXL) класса StableDiffusionLoraLoaderMixin для загрузки и сохранения весов LoRA. Используется только с моделью SDXL.
  • SD3LoraLoaderMixin предоставляет аналогичные функции для Stable Diffusion 3.
  • FluxLoraLoaderMixin предоставляет аналогичные функции для Flux.
  • CogVideoXLoraLoaderMixin предоставляет аналогичные функции для CogVideoX.
  • Mochi1LoraLoaderMixin предоставляет аналогичные функции для Mochi.
  • AuraFlowLoraLoaderMixin предоставляет аналогичные функции для AuraFlow.
  • LTXVideoLoraLoaderMixin предоставляет аналогичные функции для LTX-Video.
  • SanaLoraLoaderMixin предоставляет аналогичные функции для Sana.
  • HeliosLoraLoaderMixin предоставляет аналогичные функции для HunyuanVideo.
  • HunyuanVideoLoraLoaderMixin предоставляет аналогичные функции для HunyuanVideo.
  • Lumina2LoraLoaderMixin предоставляет аналогичные функции для Lumina2.
  • WanLoraLoaderMixin предоставляет аналогичные функции для Wan.
  • SkyReelsV2LoraLoaderMixin предоставляет аналогичные функции для SkyReels-V2.
  • CogView4LoraLoaderMixin предоставляет аналогичные функции для CogView4.
  • AmusedLoraLoaderMixin предназначен для AmusedPipeline.
  • AnimaLoraLoaderMixin предоставляет аналогичные функции для Anima.
  • AceStepLoraLoaderMixin предоставляет аналогичные функции для ACE-Step.
  • HiDreamImageLoraLoaderMixin предоставляет аналогичные функции для HiDream Image
  • QwenImageLoraLoaderMixin предоставляет аналогичные функции для Qwen Image.
  • ZImageLoraLoaderMixin предоставляет аналогичные функции для Z-Image.
  • Flux2LoraLoaderMixin предоставляет аналогичные функции для Flux2.
  • ErnieImageLoraLoaderMixin предоставляет аналогичные функции для Ernie-Image.
  • LTX2LoraLoaderMixin предоставляет аналогичные функции для Flux2.
  • MiniMaxH3LoraLoaderMixin предоставляет аналогичные функции для MiniMax-H3.
  • PikaH3FlexLoraLoaderMixin предоставляет аналогичные функции для Pika H3 Flex.
  • RFD4ProteinaLoraLoaderMixin предоставляет аналогичные функции для RFD4-Proteína.
  • BriaFibo2LoraLoaderMixin предоставляет аналогичные функции для fibo-2.
  • LoraBaseMixin предоставляет базовый класс с несколькими утилитами для слияния, отмены слияния, выгрузки LoRA и других операций.

Чтобы узнать больше о том, как загрузить веса LoRA, см. руководство по загрузке LoRA.

RFD4ProteinaLoraLoaderMixin

класс diffusers.loaders.RFD4ProteinaLoraLoaderMixin

< >

( )

Загрузите слои LoRA в RFD4ProteinaTransformer.

Автоэнкодер используется в паре с чекпоинтом денойзера и не адаптируется, поэтому трансформер является единственным загружаемым модулем.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

LoraBaseMixin

класс diffusers.loaders.lora_base.LoraBaseMixin

< >

( )

Вспомогательный класс для работы с LoRA.

delete_adapters

< >

( adapter_names: list[str] | str )

Параметры

  • adapter_names (list[str, str]) — Имена адаптеров, которые нужно удалить.

Удалите слои LoRA адаптера из конвейера.

Пример:

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

< >

( )

Отключает активные слои LoRA в конвейере.

Пример:

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

< >

( )

Включает активные слои LoRA в конвейере.

Пример:

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

< >

( **kwargs )

Параметры

  • target_rank (int) — Наибольший ранг среди всех адаптеров, которые будут загружены.
  • check_compiled (str, необязательный, по умолчанию "error") — Способ обработки уже скомпилированной модели. Проверка может вернуть следующие сообщения:
    • “error” (по умолчанию): вызывать ошибку
    • “warn”: выдать предупреждение
    • “ignore”: ничего не делать

Горячая замена адаптеров без запуска повторной компиляции модели или в случае, если ранги загруженных адаптеров различаются.

fuse_lora

< >

( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Параметры

  • components — (list[str]): список компонентов, в которые можно внедрить LoRA, для слияния LoRAs.
  • lora_scale (float, по умолчанию 1.0) — Определяет степень влияния параметров LoRA на выходные данные.
  • safe_fusing (bool, по умолчанию False) — Определяет, следует ли проверять объединяемые веса на наличие значений NaN перед их объединением и не объединять их, если значения равны NaN.
  • adapter_names (list[str], необязательный) — Имена адаптеров, используемые для слияния. Если ничего не передано, будут слиты все активные адаптеры.

Сливает параметры LoRA в исходные параметры соответствующих блоков.

Пример:

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

< >

( )

Получает список текущих активных адаптеров.

Пример:

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

< >

( )

Получает текущий список всех доступных адаптеров в конвейере.

set_adapters

< >

( adapter_names: list[str] | stradapter_weights: float | dict[str, float | dict | None] | list[float | dict[str, float | dict | None] | None] | None = None )

Параметры

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

Установите адаптеры, активные в данный момент, для использования в конвейере.

Пример:

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

< >

( adapter_names: list[str]device: torch.device | str | int )

Параметры

  • adapter_names (list[str]) — список адаптеров, для которых нужно отправить устройство.
  • device (torch.device | str | int) — Устройство, на которое следует переместить адаптеры. Может быть устройством torch, строкой или целым числом.

Перемещает LoRA, перечисленные в adapter_names, на целевое устройство. Полезно для выгрузки LoRA на CPU, если вы хотите загрузить несколько адаптеров и освободить часть памяти GPU.

После переноса адаптеров LoRA на CPU, пока остальная часть модели остаётся на GPU, адаптеры LoRA больше нельзя использовать для инференса, так как это приведёт к несовпадению устройств. Не забудьте вернуть устройство на GPU перед использованием этих адаптеров LoRA для инференса.

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

< >

( components: list[str] | None = None**kwargs )

Параметры

  • components (list[str]) — список компонентов, в которые можно внедрить LoRA, для которых нужно отключить внедрение LoRA.
  • unfuse_unet (bool, по умолчанию True) — Разъединять ли параметры LoRA для UNet.
  • unfuse_text_encoder (bool, по умолчанию True) — Определяет, следует ли отключить параметры LoRA текстового энкодера. Если текстовый энкодер не был модифицирован с помощью параметров LoRA, этот параметр не окажет никакого влияния.

Отменяет действие pipe.fuse_lora().

unload_lora_weights

< >

( )

Разгружает параметры LoRA.

Примеры:

>>> # Assuming `pipeline` is already loaded with the LoRA parameters.
>>> pipeline.unload_lora_weights()
>>> ...

write_lora_layers

< >

( state_dict: dict[str, torch.Tensor]save_directory: stris_main_process: boolweight_name: strsave_function: Callablesafe_serialization: boollora_adapter_metadata: dict | None = None )

Записывает state dict слоёв LoRA (опционально с метаданными) на диск.

StableDiffusionLoraLoaderMixin

класс diffusers.loaders.StableDiffusionLoraLoaderMixin

< >

( )

Загрузите слои LoRA в UNet2DConditionModel и CLIPTextModel Stable Diffusion.

load_lora_into_text_encoder

< >

( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Параметры

  • state_dict (dict) — Стандартный state dict, содержащий параметры слоёв lora. Ключ должен быть дополнен префиксом text_encoder, чтобы отличать слои lora от слоёв lora в unet.
  • network_alphas (dict[str, float]) — Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция --network_alpha в скрипте тренера kohya-ss. См. эту ссылку.
  • 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().
  • metadata (dict) — Необязательные метаданные адаптера LoRA. Если указаны, аргументы LoraConfig из peft не будут выводиться из state dict.

Это загрузит слои LoRA, указанные в state_dict, в text_encoder

load_lora_into_unet

< >

( state_dictnetwork_alphasunetadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Параметры

  • state_dict (dict) — Стандартный state dict, содержащий параметры слоёв lora. Ключи могут указывать на слои unet напрямую либо иметь дополнительный префикс unet, что позволяет отличать слои lora текстового энкодера.
  • network_alphas (dict[str, float]) — Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция --network_alpha в скрипте тренера kohya-ss. См. эту ссылку.
  • unet (UNet2DConditionModel) — Модель UNet, в которую будут загружены слои LoRA.
  • adapter_name (str, необязательный) — Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано default_{i}, где i — общее количество загружаемых адаптеров.
  • low_cpu_mem_usage (bool, необязательный) — Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса.
  • hotswap (bool, необязательный) — См. load_lora_weights().
  • metadata (dict) — Необязательные метаданные адаптера LoRA. Если указаны, аргументы LoraConfig из peft не будут выводиться из state dict.

Это загрузит слои LoRA, указанные в state_dict, в unet.

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Параметры

  • pretrained_model_name_or_path_or_dict (str или os.PathLike или dict) — См. lora_state_dict().
  • adapter_name (str, необязательный) — Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано default_{i}, где i — общее количество загружаемых адаптеров.
  • low_cpu_mem_usage (bool, необязательный) — Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса.
  • hotswap (bool, необязательный) — По умолчанию False. Определяет, следует ли заменить существующий адаптер (LoRA) на новый загруженный адаптер на месте. Это означает, что вместо загрузки дополнительного адаптера будут взяты веса существующего адаптера и заменены весами нового адаптера. Это может быть быстрее и экономнее по памяти. Однако главное преимущество hotswap заключается в том, что при компиляции модели с помощью torch.compile загрузка нового адаптера не требует повторной компиляции модели. При использовании hotswap переданный adapter_name должен быть именем уже загруженного адаптера.

    Если у нового адаптера и старого адаптера разные ранги и/или значения LoRA alpha (т. е. масштабирование), перед загрузкой адаптера необходимо вызвать дополнительный метод:

    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

    Обратите внимание, что горячая замена адаптеров текстового кодировщика пока не поддерживается. У этого метода есть дополнительные ограничения, описанные здесь: https://huggingface.co/docs/peft/main/en/package_reference/hotswap

  • kwargs (dict, необязательный) — См. lora_state_dict().

Загрузите веса LoRA, указанные в pretrained_model_name_or_path_or_dict, в self.unet и self.text_encoder.

Все kwargs передаются в self.lora_state_dict.

См. lora_state_dict() для получения подробной информации о том, как загружается state dict.

See load_lora_into_unet() for more details on how the state dict is loaded into self.unet.

См. load_lora_into_text_encoder() для подробностей о том, как state dict загружается в self.text_encoder.

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Параметры

  • pretrained_model_name_or_path_or_dict (str или os.PathLike или dict) — Может быть одним из следующих:
    • Строка, идентификатор модели (например, google/ddpm-celebahq-256) предобученной модели, размещенной на Hub.
    • Путь к каталогу (например, ./my_model_directory), содержащему веса модели, сохранённые с помощью ModelMixin.save_pretrained().
    • Словарь состояния torch.
  • 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 и альф сети.

> Мы поддерживаем загрузку LoRA-чекпоинтов в формате A1111 в ограниченном объёме. > > Эта функция является экспериментальной и может измениться в будущем.

save_lora_weights

< >

( save_directory: str | os.PathLikeunet_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_lora_layers: dict[str, torch.nn.Module] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Trueunet_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = None )

Параметры

  • save_directory (str or os.PathLike) — Каталог для сохранения параметров LoRA. Будет создан, если не существует.
  • unet_lora_layers (dict[str, torch.nn.Module] или dict[str, torch.Tensor]) — Состояние словаря (state dict) слоёв LoRA, соответствующих unet.
  • text_encoder_lora_layers (dict[str, torch.nn.Module] или dict[str, torch.Tensor]) — State dict слоёв LoRA, соответствующих text_encoder. Необходимо явно передать state dict слоёв 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

< >

( )

Загрузите слои LoRA в UNet2DConditionModel, CLIPTextModel и CLIPTextModelWithProjection Stable Diffusion XL.

fuse_lora

< >

( components: list[str] = ['unet', 'text_encoder', 'text_encoder_2']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_text_encoder

< >

( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Параметры

  • state_dict (dict) — Стандартный state dict, содержащий параметры слоёв lora. Ключ должен быть дополнен префиксом text_encoder, чтобы отличать слои lora от слоёв lora в unet.
  • network_alphas (dict[str, float]) — Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция --network_alpha в скрипте тренера kohya-ss. См. эту ссылку.
  • 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().
  • metadata (dict) — Необязательные метаданные адаптера LoRA. Если указаны, аргументы LoraConfig из peft не будут выводиться из state dict.

Это загрузит слои LoRA, указанные в state_dict, в text_encoder

load_lora_into_unet

< >

( state_dictnetwork_alphasunetadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Параметры

  • state_dict (dict) — Стандартный state dict, содержащий параметры слоёв lora. Ключи могут указывать на слои unet напрямую либо иметь дополнительный префикс unet, что позволяет отличать слои lora текстового энкодера.
  • network_alphas (dict[str, float]) — Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция --network_alpha в скрипте тренера kohya-ss. См. эту ссылку.
  • unet (UNet2DConditionModel) — Модель UNet, в которую будут загружены слои LoRA.
  • adapter_name (str, необязательный) — Имя адаптера, используемое для ссылки на загруженную модель адаптера. Если не указано, будет использовано default_{i}, где i — общее количество загружаемых адаптеров.
  • low_cpu_mem_usage (bool, необязательный) — Ускоряет загрузку модели, загружая только предобученные веса LoRA и не инициализируя случайные веса.
  • hotswap (bool, необязательный) — См. load_lora_weights().
  • metadata (dict) — Необязательные метаданные адаптера LoRA. Если указаны, аргументы LoraConfig из peft не будут выводиться из state dict.

Это загрузит слои LoRA, указанные в state_dict, в unet.

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Параметры

  • pretrained_model_name_or_path_or_dict (str или os.PathLike или dict) — Может быть одним из следующих:
    • Строка, идентификатор модели (например, google/ddpm-celebahq-256) предобученной модели, размещенной на Hub.
    • Путь к каталогу (например, ./my_model_directory), содержащему веса модели, сохранённые с помощью ModelMixin.save_pretrained().
    • Словарь состояния torch.
  • 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 и альф сети.

> Мы поддерживаем загрузку LoRA-чекпоинтов в формате A1111 в ограниченном объёме. > > Эта функция является экспериментальной и может измениться в будущем.

save_lora_weights

< >

( save_directory: str | os.PathLikeunet_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_2_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Trueunet_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = Nonetext_encoder_2_lora_adapter_metadata = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['unet', 'text_encoder', 'text_encoder_2']**kwargs )

Подробнее см. в unfuse_lora().

SD3LoraLoaderMixin

класс diffusers.loaders.SD3LoraLoaderMixin

< >

( )

Загрузите слои LoRA в SD3Transformer2DModel, CLIPTextModel и CLIPTextModelWithProjection.

Специфично для StableDiffusion3Pipeline.

fuse_lora

< >

( components: list[str] = ['transformer', 'text_encoder', 'text_encoder_2']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_text_encoder

< >

( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Параметры

  • state_dict (dict) — Стандартный state dict, содержащий параметры слоёв lora. Ключ должен быть дополнен префиксом text_encoder, чтобы отличать слои lora от слоёв lora в unet.
  • network_alphas (dict[str, float]) — Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция --network_alpha в скрипте тренера kohya-ss. См. эту ссылку.
  • 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().
  • metadata (dict) — Необязательные метаданные адаптера LoRA. Если указаны, аргументы LoraConfig из peft не будут выводиться из state dict.

Это загрузит слои LoRA, указанные в state_dict, в text_encoder

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_2_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = Nonetext_encoder_2_lora_adapter_metadata = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer', 'text_encoder', 'text_encoder_2']**kwargs )

Подробнее см. в unfuse_lora().

FluxLoraLoaderMixin

класс diffusers.loaders.FluxLoraLoaderMixin

< >

( )

Загрузите слои LoRA в FluxTransformer2DModel, CLIPTextModel.

Специфично для FluxPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в lora_state_dict().

load_lora_into_text_encoder

< >

( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Параметры

  • state_dict (dict) — Стандартный state dict, содержащий параметры слоёв lora. Ключ должен быть дополнен префиксом text_encoder, чтобы отличать слои lora от слоёв lora в unet.
  • network_alphas (dict[str, float]) — Значение альфы сети, используемое для стабильного обучения и предотвращения подтекания. Это значение имеет тот же смысл, что и опция --network_alpha в скрипте тренера kohya-ss. См. эту ссылку.
  • 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().
  • metadata (dict) — Необязательные метаданные адаптера LoRA. Если указаны, аргументы LoraConfig из peft не будут выводиться из state dict.

Это загрузит слои LoRA, указанные в state_dict, в text_encoder

load_lora_into_transformer

< >

( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]return_alphas: bool = False**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetext_encoder_lora_layers: dict[str, torch.nn.Module] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = None )

Параметры

  • save_directory (str or 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. Необходимо явно передать state dict слоёв 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

< >

( components: list[str] = ['transformer', 'text_encoder']**kwargs )

Параметры

  • components (list[str]) — список компонентов, в которые можно внедрить LoRA, для которых нужно отключить внедрение LoRA.

Отменяет действие pipe.fuse_lora().

unload_lora_weights

< >

( reset_to_overwritten_params = False )

Параметры

  • reset_to_overwritten_params (bool, по умолчанию False) — Сбрасывать ли модули, загруженные с LoRA, к их исходным параметрам. Подробнее см. в документации Flux.

Разгружает параметры LoRA.

Примеры:

>>> # Assuming `pipeline` is already loaded with the LoRA parameters.
>>> pipeline.unload_lora_weights()
>>> ...

Flux2LoraLoaderMixin

класс diffusers.loaders.Flux2LoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в Flux2Transformer2DModel. Специфично для Flux2Pipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

Flux3LoraLoaderMixin

класс diffusers.loaders.Flux3LoraLoaderMixin

< >

( )

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

BriaFibo2LoraLoaderMixin

класс diffusers.loaders.BriaFibo2LoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в BriaFibo2Transformer2DModel. Специфично для BriaFibo2Pipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

ErnieImageLoraLoaderMixin

класс diffusers.loaders.ErnieImageLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в ErnieImageTransformer2DModel. Специфично для ErnieImagePipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

LTX2LoraLoaderMixin

класс diffusers.loaders.LTX2LoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в LTX2VideoTransformer3DModel. Специфично для LTX2Pipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = Noneprefix: str = 'transformer' )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

CogVideoXLoraLoaderMixin

класс diffusers.loaders.CogVideoXLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в CogVideoXTransformer3DModel. Специфично для CogVideoXPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

Mochi1LoraLoaderMixin

класс diffusers.loaders.Mochi1LoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в MochiTransformer3DModel. Специфично для MochiPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

AuraFlowLoraLoaderMixin

класс diffusers.loaders.AuraFlowLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в AuraFlowTransformer2DModel Специфично для AuraFlowPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer', 'text_encoder']**kwargs )

Подробнее см. в unfuse_lora().

LTXVideoLoraLoaderMixin

класс diffusers.loaders.LTXVideoLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в LTXVideoTransformer3DModel. Специфично для LTXPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

SanaLoraLoaderMixin

класс diffusers.loaders.SanaLoraLoaderMixin

< >

( )

Загрузите слои LoRA в SanaTransformer2DModel. Специфично для SanaPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

HeliosLoraLoaderMixin

класс diffusers.loaders.HeliosLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в HeliosTransformer3DModel. Специфично для HeliosPipeline и HeliosPyramidPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

HunyuanVideoLoraLoaderMixin

класс diffusers.loaders.HunyuanVideoLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в HunyuanVideoTransformer3DModel. Специфично для HunyuanVideoPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

Lumina2LoraLoaderMixin

класс diffusers.loaders.Lumina2LoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в Lumina2Transformer2DModel. Специфично для Lumina2Pipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

CogView4LoraLoaderMixin

класс diffusers.loaders.CogView4LoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в WanTransformer3DModel. Специфично для CogView4Pipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

WanLoraLoaderMixin

класс diffusers.loaders.WanLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в WanTransformer3DModel. Специфично для WanPipeline и [WanImageToVideoPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

SkyReelsV2LoraLoaderMixin

класс diffusers.loaders.SkyReelsV2LoraLoaderMixin

< >

( )

Загрузите слои LoRA в SkyReelsV2Transformer3DModel.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

AmusedLoraLoaderMixin

класс diffusers.loaders.AmusedLoraLoaderMixin

< >

( )

load_lora_into_transformer

< >

( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )

Подробнее см. в load_lora_into_unet().

save_lora_weights

< >

( save_directory: str | os.PathLiketext_encoder_lora_layers: dict[str, torch.nn.Module] = Nonetransformer_lora_layers: dict[str, torch.nn.Module] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = True )

Параметры

  • save_directory (str or os.PathLike) — Каталог для сохранения параметров LoRA. Будет создан, если не существует.
  • unet_lora_layers (dict[str, torch.nn.Module] или dict[str, torch.Tensor]) — Состояние словаря (state dict) слоёв LoRA, соответствующих unet.
  • text_encoder_lora_layers (dict[str, torch.nn.Module] или dict[str, torch.Tensor]) — State dict слоёв LoRA, соответствующих text_encoder. Необходимо явно передать state dict слоёв 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

< >

( )

Загрузите слои LoRA в CosmosTransformer3DModel и AnimaTextConditioner.

fuse_lora

< >

( components: list[str] = ['transformer', 'text_conditioner']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

unfuse_lora

< >

( components: list[str] = ['transformer', 'text_conditioner']**kwargs )

Подробнее см. в unfuse_lora().

AceStepLoraLoaderMixin

класс diffusers.loaders.AceStepLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в AceStepTransformer1DModel. Специфично для AceStepPipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

HiDreamImageLoraLoaderMixin

класс diffusers.loaders.HiDreamImageLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в HiDreamImageTransformer2DModel. Специфично для HiDreamImagePipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

QwenImageLoraLoaderMixin

класс diffusers.loaders.QwenImageLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в QwenImageTransformer2DModel. Специфично для QwenImagePipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

ZImageLoraLoaderMixin

класс diffusers.loaders.ZImageLoraLoaderMixin

< >

( )

Загрузите слои LoRA в ZImageTransformer2DModel. Специфично для ZImagePipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

CosmosLoraLoaderMixin

класс diffusers.loaders.CosmosLoraLoaderMixin

< >

( )

Загрузите слои LoRA в CosmosTransformer3DModel, специфичные для Cosmos2_5_PredictBasePipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

KandinskyLoraLoaderMixin

класс diffusers.loaders.KandinskyLoraLoaderMixin

< >

( )

Загрузите слои LoRA в Kandinsky5Transformer3DModel,

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

Ideogram4LoraLoaderMixin

класс diffusers.loaders.Ideogram4LoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в Ideogram4Transformer2DModel. Специфично для Ideogram4Pipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

Krea2LoraLoaderMixin

класс diffusers.loaders.Krea2LoraLoaderMixin

< >

( )

Загрузите слои LoRA в Krea2Transformer2DModel. Специфично для Krea2Pipeline.

fuse_lora

< >

( components: list[str] = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )

Подробнее см. в load_lora_weights().

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )

См. save_lora_weights() для получения дополнительной информации.

unfuse_lora

< >

( components: list[str] = ['transformer']**kwargs )

Подробнее см. в unfuse_lora().

MiniMaxH3LoraLoaderMixin

класс diffusers.loaders.MiniMaxH3LoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в MiniMaxH3Transformer3DModel. Специфично для 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) обучаются на основе слияния QKV с чередованием по головам из исходной контрольной точки и деинтерлинируются при конвертации. Их коэффициенты fp32 заставляют вычисления в пути несоединённого LoRA выполняться в fp32; вызов .to(torch.bfloat16) для модели после загрузки восстанавливает бюджет памяти bf16.

LoRA, обученные на обрезанном контрольном пункте (файлы *_pruned_* в Comfy-Org/MiniMax-H3; joyfox/MiniMax-H3-Turbo — один из них), завершаются ошибкой несовпадения размеров. Файлы без альфы загружаются с alpha == rank (масштаб 1.0, конвенция, указанная, например, в larryvrh/MiniMax-H3-Turbo-Lora); запись alpha в __metadata__ (например, 8-шаговый файл из lightx2v/Minimax-h3-Turbo), если она присутствует, используется вместо этого.

fuse_lora

< >

( components: list[str] = ['transformer', 'transformer_ref']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Подробнее см. в fuse_lora().

load_lora_into_transformer

< >

( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Подробнее см. в load_lora_into_unet().

load_lora_into_transformer_ref

< >

( state_dicttransformer_refprefixadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )

Загрузите слои LoRA в раздел transformer_ref. prefix — это имя компонента, которое несут ключи: transformer_ref для файла, в котором раздел указан по имени, и transformer для файла, перенаправленного сюда с помощью load_into_transformer_ref=True. Подробнее см. load_lora_into_unet().

load_lora_weights

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = Falseload_into_transformer_ref: bool = False**kwargs )

Параметры

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

lora_state_dict

< >

( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )

Подробнее см. в lora_state_dict().

save_lora_weights

< >

( save_directory: str | os.PathLiketransformer_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Nonetransformer_ref_lora_layers: dict[str, typing.Union[torch.nn.Module, torch.Tensor]] = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = Nonetransformer_ref_lora_adapter_metadata: dict | None = None )

Сохраните слои LoRA одного или обоих разделов MiniMax-H3. По ключам невозможно определить, к какому разделу относится LoRA, поэтому это единственный способ опубликовать LoRA для H3 с зафиксированной этой информацией. Подробности см. в save_lora_weights().

unfuse_lora

< >

( components: list[str] = ['transformer', 'transformer_ref']**kwargs )

Подробнее см. в unfuse_lora().

PikaH3FlexLoraLoaderMixin

класс diffusers.loaders.PikaH3FlexLoraLoaderMixin

< >

( )

Загрузка слоёв LoRA в MiniMaxH3Transformer3DModel. Специфично для PikaH3FlexModularPipeline.

Выпуск Pika H3 Flex представляет собой пару адаптеров rank-128 для двух трансформерных разделов MiniMax-H3, опубликованных в виде обычных PEFT-дампов с именами модулей diffusers (fl2va/adapter.safetensors для transformer, ref2va/adapter.safetensors для transformer_ref). Файлы без альфы загружаются с alpha == rank (масштаб 1.0), что соответствует собственному контракту адаптеров, а загрузка, маршрутизация и сохранение выполняются по правилам MiniMaxH3LoraLoaderMixin: адаптер fl2va помещается в transformer, а адаптер ref2va — в transformer_ref — самостоятельно, если пайплайн содержит только этот раздел (workflow="ref2va"), или с load_into_transformer_ref=True, если содержит оба.

pipe.load_lora_weights("Pika-Labs/Pika-H3-Flex", weight_name="fl2va/adapter.safetensors")

LoraBaseMixin

класс diffusers.loaders.lora_base.LoraBaseMixin

< >

( )

Вспомогательный класс для работы с LoRA.

delete_adapters

< >

( adapter_names: list[str] | str )

Параметры

  • adapter_names (list[str, str]) — Имена адаптеров, которые нужно удалить.

Удалите слои LoRA адаптера из конвейера.

Пример:

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

< >

( )

Отключает активные слои LoRA в конвейере.

Пример:

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

< >

( )

Включает активные слои LoRA в конвейере.

Пример:

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

< >

( **kwargs )

Параметры

  • target_rank (int) — Наибольший ранг среди всех адаптеров, которые будут загружены.
  • check_compiled (str, необязательный, по умолчанию "error") — Способ обработки уже скомпилированной модели. Проверка может вернуть следующие сообщения:
    • “error” (по умолчанию): вызывать ошибку
    • “warn”: выдать предупреждение
    • “ignore”: ничего не делать

Горячая замена адаптеров без запуска повторной компиляции модели или в случае, если ранги загруженных адаптеров различаются.

fuse_lora

< >

( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )

Параметры

  • components — (list[str]): список компонентов, в которые можно внедрить LoRA, для слияния LoRAs.
  • lora_scale (float, по умолчанию 1.0) — Определяет степень влияния параметров LoRA на выходные данные.
  • safe_fusing (bool, по умолчанию False) — Определяет, следует ли проверять объединяемые веса на наличие значений NaN перед их объединением и не объединять их, если значения равны NaN.
  • adapter_names (list[str], необязательный) — Имена адаптеров, используемые для слияния. Если ничего не передано, будут слиты все активные адаптеры.

Сливает параметры LoRA в исходные параметры соответствующих блоков.

Пример:

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

< >

( )

Получает список текущих активных адаптеров.

Пример:

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

< >

( )

Получает текущий список всех доступных адаптеров в конвейере.

set_adapters

< >

( adapter_names: list[str] | stradapter_weights: float | dict[str, float | dict | None] | list[float | dict[str, float | dict | None] | None] | None = None )

Параметры

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

Установите адаптеры, активные в данный момент, для использования в конвейере.

Пример:

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

< >

( adapter_names: list[str]device: torch.device | str | int )

Параметры

  • adapter_names (list[str]) — список адаптеров, для которых нужно отправить устройство.
  • device (torch.device | str | int) — Устройство, на которое следует переместить адаптеры. Может быть устройством torch, строкой или целым числом.

Перемещает LoRA, перечисленные в adapter_names, на целевое устройство. Полезно для выгрузки LoRA на CPU, если вы хотите загрузить несколько адаптеров и освободить часть памяти GPU.

После переноса адаптеров LoRA на CPU, пока остальная часть модели остаётся на GPU, адаптеры LoRA больше нельзя использовать для инференса, так как это приведёт к несовпадению устройств. Не забудьте вернуть устройство на GPU перед использованием этих адаптеров LoRA для инференса.

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

< >

( components: list[str] | None = None**kwargs )

Параметры

  • components (list[str]) — список компонентов, в которые можно внедрить LoRA, для которых нужно отключить внедрение LoRA.
  • unfuse_unet (bool, по умолчанию True) — Разъединять ли параметры LoRA для UNet.
  • unfuse_text_encoder (bool, по умолчанию True) — Определяет, следует ли отключить параметры LoRA текстового энкодера. Если текстовый энкодер не был модифицирован с помощью параметров LoRA, этот параметр не окажет никакого влияния.

Отменяет действие pipe.fuse_lora().

unload_lora_weights

< >

( )

Разгружает параметры LoRA.

Примеры:

>>> # Assuming `pipeline` is already loaded with the LoRA parameters.
>>> pipeline.unload_lora_weights()
>>> ...

write_lora_layers

< >

( state_dict: dict[str, torch.Tensor]save_directory: stris_main_process: boolweight_name: strsave_function: Callablesafe_serialization: boollora_adapter_metadata: dict | None = None )

Записывает state dict слоёв LoRA (опционально с метаданными) на диск.

Update on GitHub