Diffusers documentation

LoRA

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

LoRA

LoRA는 모델의 모든 파라미터 대신 훨씬 적은 수의 파라미터를 삽입하여 학습하는 빠르고 경량화된 학습 방법입니다. 이를 통해 더 작은 파일(약 100 MB)을 생성하며, 새로운 개념을 학습하도록 모델을 빠르게 훈련하는 것이 용이해집니다. LoRA 가중치는 일반적으로 denoiser, text encoder 또는 둘 다에 로드됩니다. denoiser는 보통 UNet(UNet2DConditionModel 등) 또는 Transformer(SD3Transformer2DModel 등)에 해당합니다. LoRA 가중치를 로드하는 데 사용되는 클래스가 여러 개 있습니다:

  • StableDiffusionLoraLoaderMixin은 LoRA 가중치를 로드하고 언로드하는 기능, 융합하고 언융합하는 기능, 활성화하고 비활성화하는 기능 등 LoRA 가중치를 관리하기 위한 다양한 기능을 제공합니다. 이 클래스는 모든 모델과 함께 사용할 수 있습니다.
  • StableDiffusionXLLoraLoaderMixin은 LoRA 가중치를 로드하고 저장하기 위한 StableDiffusionLoraLoaderMixin 클래스의 Stable Diffusion (SDXL) 버전입니다. 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

class diffusers.loaders.RFD4ProteinaLoraLoaderMixin

< >

( )

LoRA 레이어를 RFD4ProteinaTransformer에 로드합니다.

autoencoder는 denoiser 체크포인트와 함께 제공되며 조정되지 않으므로, transformer가 로드할 수 있는 유일한 모듈입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

LoraBaseMixin

class diffusers.loaders.lora_base.LoraBaseMixin

< >

( )

LoRA를 처리하기 위한 유틸리티 클래스입니다.

delete_adapters

< >

( adapter_names: list[str] | str )

매개변수

  • adapter_names (list[str, str]) — 삭제할 어댑터의 이름입니다.

pipeline에서 어댑터의 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”: 아무 작업도 수행하지 않음

Hotswap 어댑터를 사용하면 모델의 재컴파일 없이, 또는 로드된 어댑터의 랭크가 서로 다른 경우에도 어댑터를 교체할 수 있습니다.

fuse_lora

< >

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

매개변수

  • components — (list[str]): LoRA를 병합할 LoRA 주입 가능 컴포넌트 목록.
  • 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 구성 요소의 가중치는 블록 스케일의 중첩 딕셔너리일 수도 있습니다. 단일 스칼라 또는 딕셔너리는 모든 어댑터에 적용됩니다. 리스트는 adapter_names의 순서대로 각 어댑터당 하나의 스칼라, 딕셔너리 또는 None을 포함해야 합니다. 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 device, str 또는 정수일 수 있습니다.

adapter_names에 나열된 LoRA를 대상 장치로 이동합니다. 여러 어댑터를 로드하고 GPU 메모리를 일부 확보하려면 LoRA를 CPU로 오프로딩하는 데 유용합니다.

LoRA 어댑터를 CPU로 오프로딩한 후, 모델의 나머지 부분이 여전히 GPU에 있는 한, LoRA 어댑터를 추론에 사용할 수 없습니다. 그렇게 하면 디바이스 불일치가 발생하기 때문입니다. 해당 LoRA 어댑터를 추론에 사용하기 전에 디바이스를 다시 GPU로 설정하는 것을 잊지 마세요.

>>> 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를 unfuse할 LoRA 주입 가능 컴포넌트의 목록.
  • unfuse_unet (bool, 기본값 True) — UNet LoRA 매개변수를 unfuse할지 여부.
  • unfuse_text_encoder (bool, 기본값 True) — 텍스트 인코더의 LoRA 매개변수를 unfuse할지 여부입니다. 텍스트 인코더가 LoRA 매개변수로 monkey-patch되지 않았다면 아무런 효과가 없습니다.

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 )

LoRA 레이어의 state dict를 (선택적으로 메타데이터와 함께) 디스크에 기록합니다.

StableDiffusionLoraLoaderMixin

class diffusers.loaders.StableDiffusionLoraLoaderMixin

< >

( )

Stable Diffusion의 UNet2DConditionModel과 CLIPTextModel에 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) — lora 레이어 매개변수를 포함하는 표준 상태 딕셔너리입니다. unet lora 레이어와 구별하기 위해 키에 text_encoder 접두사가 추가되어야 합니다.
  • network_alphas (dict[str, float]) — 안정적인 학습과 underflow 방지를 위해 사용되는 network alpha 값입니다. 이 값은 kohya-ss trainer 스크립트의 --network_alpha 옵션과 동일한 의미를 가집니다. 이 링크를 참조하세요.
  • text_encoder (CLIPTextModel) — LoRA 레이어를 로드할 텍스트 인코더 모델입니다.
  • prefix (str) — state_dict의 text_encoder에 대한 예상되는 접두사.
  • lora_scale (float) — 일반 lora 레이어의 출력과 합산되기 전에 lora 선형 레이어의 출력을 얼마나 스케일링할지를 지정합니다.
  • adapter_name (str, 선택 사항) — 로드된 어댑터 모델을 참조할 때 사용할 어댑터 이름입니다. 지정하지 않으면, 로드 중인 어댑터의 총 개수를 i로 하여 default_{i}를 사용합니다.
  • low_cpu_mem_usage (bool, 선택) — 무작위 가중치를 초기화하지 않고 사전 학습된 LoRA 가중치만 로드하여 모델 로딩 속도를 높입니다.
  • hotswap (bool, 선택 사항) — load_lora_weights()를 참조하세요.
  • metadata (dict) — 선택 사항인 LoRA 어댑터 메타데이터입니다. 제공되면 peft의 LoraConfig 인자가 상태 딕트(state dict)에서 파생되지 않습니다.

state_dict에 지정된 LoRA 레이어를 text_encoder에 로드합니다.

load_lora_into_unet

< >

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

매개변수

  • state_dict (dict) — lora 레이어 매개변수를 포함하는 표준 상태 딕셔너리입니다. 키는 unet에 직접 인덱스로 접근하거나, 텍스트 인코더 lora 레이어와 구별하기 위해 unet 접두사를 붙여 사용할 수 있습니다.
  • network_alphas (dict[str, float]) — 안정적인 학습과 underflow 방지를 위해 사용되는 network alpha 값입니다. 이 값은 kohya-ss trainer 스크립트의 --network_alpha 옵션과 동일한 의미를 가집니다. 이 링크를 참조하세요.
  • unet (UNet2DConditionModel) — LoRA 레이어를 로드할 UNet 모델입니다.
  • adapter_name (str, 선택 사항) — 로드된 어댑터 모델을 참조할 때 사용할 어댑터 이름입니다. 지정하지 않으면, 로드 중인 어댑터의 총 개수를 i로 하여 default_{i}를 사용합니다.
  • low_cpu_mem_usage (bool, 선택) — 무작위 가중치를 초기화하지 않고 사전 학습된 LoRA 가중치만 로드하여 모델 로딩 속도를 높입니다.
  • hotswap (bool, 선택 사항) — load_lora_weights()를 참조하세요.
  • metadata (dict) — 선택 사항인 LoRA 어댑터 메타데이터입니다. 제공되면 peft의 LoraConfig 인자가 상태 딕트(state dict)에서 파생되지 않습니다.

state_dict에 지정된 LoRA 레이어를 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, 선택 사항) — 로드된 어댑터 모델을 참조할 때 사용할 어댑터 이름입니다. 지정하지 않으면, 로드 중인 어댑터의 총 개수를 i로 하여 default_{i}를 사용합니다.
  • low_cpu_mem_usage (bool, 선택) — 무작위 가중치를 초기화하지 않고 사전 학습된 LoRA 가중치만 로드하여 모델 로딩 속도를 높입니다.
  • hotswap (bool, 선택 사항) — 기본값은 False. 기존 (LoRA) 어댑터를 새로 로드한 어댑터로 제자리에서 교체할지 여부입니다. 즉, 추가 어댑터를 로드하는 대신 기존 어댑터의 가중치를 새 어댑터의 가중치로 대체합니다. 이는 더 빠르고 메모리 효율적일 수 있습니다. 그러나 hotswapping의 주요 이점은 모델이 torch.compile로 컴파일된 경우, 새 어댑터를 로드할 때 모델의 재컴파일이 필요하지 않다는 점입니다. hotswapping을 사용할 때 전달하는 adapter_name 는 이미 로드된 어댑터의 이름이어야 합니다.

    새 어댑터와 기존 어댑터의 랭크와/또는 LoRA 알파(즉, 스케일링)가 서로 다른 경우, 어댑터를 로드하기 전에 추가 메서드를 호출해야 합니다:

pretrained_model_name_or_path_or_dict에 지정된 LoRA 가중치를 self.unet와 self.text_encoder에 로드합니다.

모든 kwargs는 self.lora_state_dict로 전달됩니다.

state dict가 로드되는 방법에 대한 자세한 내용은 lora_state_dict()를 참조하세요.

self.unet에 상태 사전이 로드되는 방법에 대한 자세한 내용은 load_lora_into_unet()을 참조하세요.

self.text_encoder에 state dict가 로드되는 방법에 대한 자세한 내용은 load_lora_into_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) — 다음 중 하나일 수 있습니다:
    • Hub에 호스팅된 사전 학습 모델의 model id 문자열(예: google/ddpm-celebahq-256).
    • ./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에서 허용하는 브랜치 이름, 태그 이름, 커밋 ID 또는 기타 식별자일 수 있습니다.
  • subfolder (str, 선택 사항, 기본값 "") — Hub 또는 로컬의 더 큰 모델 저장소 내에서 모델 파일의 서브폴더 위치입니다.
  • weight_name (str, 선택 사항, 기본값 None) — 직렬화된 state dict 파일의 이름.
  • return_lora_metadata (bool, 선택 사항, 기본값 False) — 활성화하면 state dict에서 일반적으로 찾을 수 있는 LoRA 어댑터 메타데이터도 추가로 반환합니다.

lora 가중치와 네트워크 알파에 대한 state dict를 반환합니다.

> A1111 형식의 LoRA 체크포인트를 제한적으로 로드하는 것을 지원합니다. > > 이 기능은 실험적이며 향후 변경될 수 있습니다.

save_lora_weights

< >

( save_directory: str | os.PathLikeunet_lora_layers: dict = Nonetext_encoder_lora_layers: dict = 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 또는 os.PathLike) — LoRA 매개변수를 저장할 디렉터리입니다. 존재하지 않으면 생성됩니다.
  • unet_lora_layers (dict[str, torch.nn.Module] 또는 dict[str, torch.Tensor]) — unet에 해당하는 LoRA 레이어의 state dict입니다.
  • text_encoder_lora_layers (dict[str, torch.nn.Module] 또는 dict[str, torch.Tensor]) — text_encoder에 해당하는 LoRA 레이어의 state dict입니다. 🤗 Transformers에서 가져오므로 텍스트 인코더 LoRA state dict를 명시적으로 전달해야 합니다.
  • is_main_process (bool, 선택 사항, 기본값 True) — 이 함수를 호출하는 프로세스가 메인 프로세스인지 여부입니다. 분산 학습 중에 모든 프로세스에서 이 함수를 호출해야 하는 경우 유용합니다. 이 경우 레이스 조건을 피하기 위해 메인 프로세스에서만 is_main_process=True로 설정하세요.
  • save_function (Callable) — 상태 사전(state dictionary)을 저장하는 데 사용할 함수입니다. 분산 학습(distributed training) 중에 torch.save를 다른 방법으로 대체해야 할 때 유용합니다. 환경 변수 DIFFUSERS_SAVE_MODE로 설정할 수 있습니다.
  • safe_serialization (bool, 선택 사항, 기본값 True) — safetensors를 사용하여 모델을 저장할지, 아니면 pickle을 사용한 전통적인 PyTorch 방식으로 저장할지를 결정합니다.
  • unet_lora_adapter_metadata — state dict와 함께 직렬화될 unet에 연결된 LoRA 어댑터 메타데이터.
  • text_encoder_lora_adapter_metadata — state dict와 함께 직렬화될 text encoder에 연결된 LoRA 어댑터 메타데이터.

UNet과 텍스트 인코더에 해당하는 LoRA 매개변수를 저장합니다.

StableDiffusionXLLoraLoaderMixin

class diffusers.loaders.StableDiffusionXLLoraLoaderMixin

< >

( )

Stable Diffusion XL의 UNet2DConditionModel, CLIPTextModel, CLIPTextModelWithProjection에 LoRA 레이어를 로드합니다.

fuse_lora

< >

( components: list = ['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) — lora 레이어 매개변수를 포함하는 표준 상태 딕셔너리입니다. unet lora 레이어와 구별하기 위해 키에 text_encoder 접두사가 추가되어야 합니다.
  • network_alphas (dict[str, float]) — 안정적인 학습과 underflow 방지를 위해 사용되는 network alpha 값입니다. 이 값은 kohya-ss trainer 스크립트의 --network_alpha 옵션과 동일한 의미를 가집니다. 이 링크를 참조하세요.
  • text_encoder (CLIPTextModel) — LoRA 레이어를 로드할 텍스트 인코더 모델입니다.
  • prefix (str) — state_dict의 text_encoder에 대한 예상되는 접두사.
  • lora_scale (float) — 일반 lora 레이어의 출력과 합산되기 전에 lora 선형 레이어의 출력을 얼마나 스케일링할지를 지정합니다.
  • adapter_name (str, 선택 사항) — 로드된 어댑터 모델을 참조할 때 사용할 어댑터 이름입니다. 지정하지 않으면, 로드 중인 어댑터의 총 개수를 i로 하여 default_{i}를 사용합니다.
  • low_cpu_mem_usage (bool, 선택) — 무작위 가중치를 초기화하지 않고 사전 학습된 LoRA 가중치만 로드하여 모델 로딩 속도를 높입니다.
  • hotswap (bool, 선택 사항) — load_lora_weights()를 참조하세요.
  • metadata (dict) — 선택 사항인 LoRA 어댑터 메타데이터입니다. 제공되면 peft의 LoraConfig 인자가 상태 딕트(state dict)에서 파생되지 않습니다.

state_dict에 지정된 LoRA 레이어를 text_encoder에 로드합니다.

load_lora_into_unet

< >

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

매개변수

  • state_dict (dict) — lora 레이어 매개변수를 포함하는 표준 상태 딕셔너리입니다. 키는 unet에 직접 인덱스로 접근하거나, 텍스트 인코더 lora 레이어와 구별하기 위해 unet 접두사를 붙여 사용할 수 있습니다.
  • network_alphas (dict[str, float]) — 안정적인 학습과 underflow 방지를 위해 사용되는 network alpha 값입니다. 이 값은 kohya-ss trainer 스크립트의 --network_alpha 옵션과 동일한 의미를 가집니다. 이 링크를 참조하세요.
  • unet (UNet2DConditionModel) — LoRA 레이어를 로드할 UNet 모델입니다.
  • adapter_name (str, 선택 사항) — 로드된 어댑터 모델을 참조할 때 사용할 어댑터 이름입니다. 지정하지 않으면, 로드 중인 어댑터의 총 개수를 i로 하여 default_{i}를 사용합니다.
  • low_cpu_mem_usage (bool, 선택) — 무작위 가중치를 초기화하지 않고 사전 학습된 LoRA 가중치만 로드하여 모델 로딩 속도를 높입니다.
  • hotswap (bool, 선택 사항) — load_lora_weights()를 참조하세요.
  • metadata (dict) — 선택 사항인 LoRA 어댑터 메타데이터입니다. 제공되면 peft의 LoraConfig 인자가 상태 딕트(state dict)에서 파생되지 않습니다.

state_dict에 지정된 LoRA 레이어를 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) — 다음 중 하나일 수 있습니다:
    • Hub에 호스팅된 사전 학습 모델의 model id 문자열(예: google/ddpm-celebahq-256).
    • ./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에서 허용하는 브랜치 이름, 태그 이름, 커밋 ID 또는 기타 식별자일 수 있습니다.
  • subfolder (str, 선택 사항, 기본값 "") — Hub 또는 로컬의 더 큰 모델 저장소 내에서 모델 파일의 서브폴더 위치입니다.
  • weight_name (str, 선택 사항, 기본값 None) — 직렬화된 state dict 파일의 이름.
  • return_lora_metadata (bool, 선택 사항, 기본값 False) — 활성화하면 state dict에서 일반적으로 찾을 수 있는 LoRA 어댑터 메타데이터도 추가로 반환합니다.

lora 가중치와 네트워크 알파에 대한 state dict를 반환합니다.

> A1111 형식의 LoRA 체크포인트를 제한적으로 로드하는 것을 지원합니다. > > 이 기능은 실험적이며 향후 변경될 수 있습니다.

save_lora_weights

< >

( save_directory: str | os.PathLikeunet_lora_layers: dict = Nonetext_encoder_lora_layers: dict = Nonetext_encoder_2_lora_layers: dict = 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 = ['unet', 'text_encoder', 'text_encoder_2']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

SD3LoraLoaderMixin

class diffusers.loaders.SD3LoraLoaderMixin

< >

( )

LoRA 레이어를 SD3Transformer2DModel, CLIPTextModel, CLIPTextModelWithProjection에 로드합니다.

StableDiffusion3Pipeline에 특화된 내용입니다.

fuse_lora

< >

( components: list = ['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) — lora 레이어 매개변수를 포함하는 표준 상태 딕셔너리입니다. unet lora 레이어와 구별하기 위해 키에 text_encoder 접두사가 추가되어야 합니다.
  • network_alphas (dict[str, float]) — 안정적인 학습과 underflow 방지를 위해 사용되는 network alpha 값입니다. 이 값은 kohya-ss trainer 스크립트의 --network_alpha 옵션과 동일한 의미를 가집니다. 이 링크를 참조하세요.
  • text_encoder (CLIPTextModel) — LoRA 레이어를 로드할 텍스트 인코더 모델입니다.
  • prefix (str) — state_dict의 text_encoder에 대한 예상되는 접두사.
  • lora_scale (float) — 일반 lora 레이어의 출력과 합산되기 전에 lora 선형 레이어의 출력을 얼마나 스케일링할지를 지정합니다.
  • adapter_name (str, 선택 사항) — 로드된 어댑터 모델을 참조할 때 사용할 어댑터 이름입니다. 지정하지 않으면, 로드 중인 어댑터의 총 개수를 i로 하여 default_{i}를 사용합니다.
  • low_cpu_mem_usage (bool, 선택) — 무작위 가중치를 초기화하지 않고 사전 학습된 LoRA 가중치만 로드하여 모델 로딩 속도를 높입니다.
  • hotswap (bool, 선택 사항) — load_lora_weights()를 참조하세요.
  • metadata (dict) — 선택 사항인 LoRA 어댑터 메타데이터입니다. 제공되면 peft의 LoraConfig 인자가 상태 딕트(state dict)에서 파생되지 않습니다.

state_dict에 지정된 LoRA 레이어를 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 = Nonetext_encoder_lora_layers: dict = Nonetext_encoder_2_lora_layers: dict = 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 = ['transformer', 'text_encoder', 'text_encoder_2']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

FluxLoraLoaderMixin

class diffusers.loaders.FluxLoraLoaderMixin

< >

( )

LoRA 레이어를 FluxTransformer2DModel, CLIPTextModel에 로드합니다.

FluxPipeline에 특화되어 있습니다.

fuse_lora

< >

( components: list = ['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) — lora 레이어 매개변수를 포함하는 표준 상태 딕셔너리입니다. unet lora 레이어와 구별하기 위해 키에 text_encoder 접두사가 추가되어야 합니다.
  • network_alphas (dict[str, float]) — 안정적인 학습과 underflow 방지를 위해 사용되는 network alpha 값입니다. 이 값은 kohya-ss trainer 스크립트의 --network_alpha 옵션과 동일한 의미를 가집니다. 이 링크를 참조하세요.
  • text_encoder (CLIPTextModel) — LoRA 레이어를 로드할 텍스트 인코더 모델입니다.
  • prefix (str) — state_dict의 text_encoder에 대한 예상되는 접두사.
  • lora_scale (float) — 일반 lora 레이어의 출력과 합산되기 전에 lora 선형 레이어의 출력을 얼마나 스케일링할지를 지정합니다.
  • adapter_name (str, 선택 사항) — 로드된 어댑터 모델을 참조할 때 사용할 어댑터 이름입니다. 지정하지 않으면, 로드 중인 어댑터의 총 개수를 i로 하여 default_{i}를 사용합니다.
  • low_cpu_mem_usage (bool, 선택) — 무작위 가중치를 초기화하지 않고 사전 학습된 LoRA 가중치만 로드하여 모델 로딩 속도를 높입니다.
  • hotswap (bool, 선택 사항) — load_lora_weights()를 참조하세요.
  • metadata (dict) — 선택 사항인 LoRA 어댑터 메타데이터입니다. 제공되면 peft의 LoraConfig 인자가 상태 딕트(state dict)에서 파생되지 않습니다.

state_dict에 지정된 LoRA 레이어를 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 = Nonetext_encoder_lora_layers: dict = 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 또는 os.PathLike) — LoRA 매개변수를 저장할 디렉터리입니다. 존재하지 않으면 생성됩니다.
  • transformer_lora_layers (dict[str, torch.nn.Module] 또는 dict[str, torch.Tensor]) — transformer에 해당하는 LoRA 레이어의 state dict입니다.
  • text_encoder_lora_layers (dict[str, torch.nn.Module] 또는 dict[str, torch.Tensor]) — text_encoder에 해당하는 LoRA 레이어의 state dict입니다. 🤗 Transformers에서 가져오므로 텍스트 인코더 LoRA state dict를 명시적으로 전달해야 합니다.
  • is_main_process (bool, 선택 사항, 기본값 True) — 이 함수를 호출하는 프로세스가 메인 프로세스인지 여부입니다. 분산 학습 중에 모든 프로세스에서 이 함수를 호출해야 하는 경우 유용합니다. 이 경우 레이스 조건을 피하기 위해 메인 프로세스에서만 is_main_process=True로 설정하세요.
  • save_function (Callable) — 상태 사전(state dictionary)을 저장하는 데 사용할 함수입니다. 분산 학습(distributed training) 중에 torch.save를 다른 방법으로 대체해야 할 때 유용합니다. 환경 변수 DIFFUSERS_SAVE_MODE로 설정할 수 있습니다.
  • safe_serialization (bool, 선택 사항, 기본값 True) — safetensors를 사용하여 모델을 저장할지, 아니면 pickle을 사용한 전통적인 PyTorch 방식으로 저장할지를 결정합니다.
  • transformer_lora_adapter_metadata — state dict와 함께 직렬화할 transformer에 연결된 LoRA 어댑터 메타데이터.
  • text_encoder_lora_adapter_metadata — state dict와 함께 직렬화될 text encoder에 연결된 LoRA 어댑터 메타데이터.

UNet과 텍스트 인코더에 해당하는 LoRA 매개변수를 저장합니다.

unfuse_lora

< >

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

매개변수

  • components (list[str]) — LoRA를 unfuse할 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

class diffusers.loaders.Flux2LoraLoaderMixin

< >

( )

Flux2Transformer2DModel에 LoRA 레이어를 로드합니다. Flux2Pipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

Flux3LoraLoaderMixin

class diffusers.loaders.Flux3LoraLoaderMixin

< >

( )

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

BriaFibo2LoraLoaderMixin

class diffusers.loaders.BriaFibo2LoraLoaderMixin

< >

( )

BriaFibo2Transformer2DModel에 LoRA 레이어를 로드합니다. BriaFibo2Pipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

ErnieImageLoraLoaderMixin

class diffusers.loaders.ErnieImageLoraLoaderMixin

< >

( )

ErnieImagePipeline에 특화된 ErnieImageTransformer2DModel에 LoRA 레이어를 로드합니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

LTX2LoraLoaderMixin

class diffusers.loaders.LTX2LoraLoaderMixin

< >

( )

LTX2VideoTransformer3DModel에 LoRA 레이어를 로드합니다. LTX2Pipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

CogVideoXLoraLoaderMixin

클래스 diffusers.loaders.CogVideoXLoraLoaderMixin

< >

( )

LoRA 레이어를 CogVideoXTransformer3DModel에 로드합니다. CogVideoXPipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

Mochi1LoraLoaderMixin

class diffusers.loaders.Mochi1LoraLoaderMixin

< >

( )

MochiTransformer3DModel에 LoRA 레이어를 로드합니다. MochiPipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

AuraFlowLoraLoaderMixin

class diffusers.loaders.AuraFlowLoraLoaderMixin

< >

( )

AuraFlowTransformer2DModel에 LoRA 레이어를 로드합니다. AuraFlowPipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer', 'text_encoder']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

LTXVideoLoraLoaderMixin

class diffusers.loaders.LTXVideoLoraLoaderMixin

< >

( )

LoRA 레이어를 LTXVideoTransformer3DModel에 로드합니다. LTXPipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

SanaLoraLoaderMixin

class diffusers.loaders.SanaLoraLoaderMixin

< >

( )

LoRA 레이어를 SanaTransformer2DModel에 로드합니다. SanaPipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

HeliosLoraLoaderMixin

class diffusers.loaders.HeliosLoraLoaderMixin

< >

( )

HeliosTransformer3DModel에 LoRA 레이어를 로드합니다. HeliosPipeline과 HeliosPyramidPipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

HunyuanVideoLoraLoaderMixin

class diffusers.loaders.HunyuanVideoLoraLoaderMixin

< >

( )

HunyuanVideoTransformer3DModel에 LoRA 레이어를 로드합니다. HunyuanVideoPipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

Lumina2LoraLoaderMixin

class diffusers.loaders.Lumina2LoraLoaderMixin

< >

( )

Lumina2Transformer2DModel에 LoRA 레이어를 로드합니다. Lumina2Pipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

CogView4LoraLoaderMixin

클래스 diffusers.loaders.CogView4LoraLoaderMixin

< >

( )

LoRA 레이어를 WanTransformer3DModel에 로드합니다. CogView4Pipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

WanLoraLoaderMixin

class diffusers.loaders.WanLoraLoaderMixin

< >

( )

LoRA 레이어를 WanTransformer3DModel에 로드합니다. WanPipeline과 [WanImageToVideoPipeline에 특화되어 있습니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

SkyReelsV2LoraLoaderMixin

class diffusers.loaders.SkyReelsV2LoraLoaderMixin

< >

( )

LoRA 레이어를 SkyReelsV2Transformer3DModel에 로드합니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

AmusedLoraLoaderMixin

class 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 = Nonetransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = True )

매개변수

  • save_directory (str 또는 os.PathLike) — LoRA 매개변수를 저장할 디렉터리입니다. 존재하지 않으면 생성됩니다.
  • unet_lora_layers (dict[str, torch.nn.Module] 또는 dict[str, torch.Tensor]) — unet에 해당하는 LoRA 레이어의 state dict입니다.
  • text_encoder_lora_layers (dict[str, torch.nn.Module] 또는 dict[str, torch.Tensor]) — text_encoder에 해당하는 LoRA 레이어의 state dict입니다. 🤗 Transformers에서 가져오므로 텍스트 인코더 LoRA state dict를 명시적으로 전달해야 합니다.
  • is_main_process (bool, 선택 사항, 기본값 True) — 이 함수를 호출하는 프로세스가 메인 프로세스인지 여부입니다. 분산 학습 중에 모든 프로세스에서 이 함수를 호출해야 하는 경우 유용합니다. 이 경우 레이스 조건을 피하기 위해 메인 프로세스에서만 is_main_process=True로 설정하세요.
  • save_function (Callable) — 상태 사전(state dictionary)을 저장하는 데 사용할 함수입니다. 분산 학습(distributed training) 중에 torch.save를 다른 방법으로 대체해야 할 때 유용합니다. 환경 변수 DIFFUSERS_SAVE_MODE로 설정할 수 있습니다.
  • safe_serialization (bool, 선택 사항, 기본값 True) — safetensors를 사용하여 모델을 저장할지, 아니면 pickle을 사용한 전통적인 PyTorch 방식으로 저장할지를 결정합니다.

UNet과 텍스트 인코더에 해당하는 LoRA 매개변수를 저장합니다.

AnimaLoraLoaderMixin

class diffusers.loaders.AnimaLoraLoaderMixin

< >

( )

LoRA 레이어를 CosmosTransformer3DModel과 AnimaTextConditioner에 로드합니다.

fuse_lora

< >

( components: list = ['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 = ['transformer', 'text_conditioner']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

AceStepLoraLoaderMixin

class diffusers.loaders.AceStepLoraLoaderMixin

< >

( )

AceStepTransformer1DModel에 LoRA 레이어를 로드합니다. AceStepPipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

HiDreamImageLoraLoaderMixin

class diffusers.loaders.HiDreamImageLoraLoaderMixin

< >

( )

HiDreamImageTransformer2DModel에 LoRA 레이어를 로드합니다. HiDreamImagePipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

QwenImageLoraLoaderMixin

class diffusers.loaders.QwenImageLoraLoaderMixin

< >

( )

QwenImageTransformer2DModel에 LoRA 레이어를 로드합니다. QwenImagePipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

ZImageLoraLoaderMixin

class diffusers.loaders.ZImageLoraLoaderMixin

< >

( )

LoRA 레이어를 ZImageTransformer2DModel에 로드합니다. ZImagePipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

CosmosLoraLoaderMixin

class diffusers.loaders.CosmosLoraLoaderMixin

< >

( )

CosmosTransformer3DModel에 LoRA 레이어를 로드합니다. Cosmos2_5_PredictBasePipeline에 특화되어 있습니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

KandinskyLoraLoaderMixin

class diffusers.loaders.KandinskyLoraLoaderMixin

< >

( )

Kandinsky5Transformer3DModel에 LoRA 레이어를 로드합니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

Ideogram4LoraLoaderMixin

class diffusers.loaders.Ideogram4LoraLoaderMixin

< >

( )

Ideogram4Transformer2DModel에 LoRA 레이어를 로드합니다. Ideogram4Pipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

Krea2LoraLoaderMixin

class diffusers.loaders.Krea2LoraLoaderMixin

< >

( )

LoRA 레이어를 Krea2Transformer2DModel에 로드합니다. Krea2Pipeline에 특화된 기능입니다.

fuse_lora

< >

( components: list = ['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 = 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 = ['transformer']**kwargs )

자세한 내용은 unfuse_lora()를 참조하세요.

MiniMaxH3LoraLoaderMixin

class diffusers.loaders.MiniMaxH3LoraLoaderMixin

< >

( )

MiniMaxH3Transformer3DModel에 LoRA 레이어를 로드합니다. MiniMaxH3ModularPipeline에 특화된 기능입니다.

MiniMax-H3는 동일한 모듈 이름을 가진 두 개의 독립적인 DiT 파티션을 포함하고 있으며(한 쪽에 LoRA를 로드하면 다른 쪽에도 로드되어 출력이 저하됨) 라우팅은 명시적으로 이루어집니다. 변환된 state dict는 transformer.를 대상으로 하며, transformer_ref에는 transformer_ref. 접두사가 붙은 파일 또는 load_into_transformer_ref=True를 통해 접근합니다.

DiffSynth-Studio LoRA(예: DiffSynth-Studio/MiniMax-H3-LoRA-LineartAnime)는 원본 체크포인트의 헤드별 인터리브드 퓨즈드 QKV를 기준으로 학습되며, 변환 시 디인터리브됩니다. fp32 계수로 인해 언퓨즈드 LoRA 경로가 fp32로 계산되므로, 로드 후 모델에 .to(torch.bfloat16)을 적용하면 bf16 메모리 예산이 복원됩니다.

Comfy-Org/MiniMax-H3의 *_pruned_* 파일(예: joyfox/MiniMax-H3-Turbo)에 대해 학습된 LoRA는 크기 불일치로 인해 실패합니다. alpha가 없는 파일은 alpha == rank로 로드됩니다(스케일 1.0, larryvrh/MiniMax-H3-Turbo-Lora 등에서 명시한 관례). __metadata__에 alpha 항목(예: lightx2v/Minimax-h3-Turbo의 8-step 파일)이 존재하는 경우, 해당 값이 우선 적용됩니다.

fuse_lora

< >

( components: list = ['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, load_into_transformer_ref=True에 의해 여기로 라우팅되는 파일의 경우 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 = Falseload_into_transformer_ref: bool = False**kwargs )

매개변수

  • load_into_transformer_ref (bool, 기본값 False) — transformer. 접두사가 붙은 레이어를 transformer 대신 transformer_ref 파티션에 로드합니다. ref2va 워크플로에서 디노이즈를 수행하는 파티션입니다. 두 파티션이 모두 로드될 때만 필요합니다. 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 = Nonetransformer_ref_lora_layers: dict = 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 )

MiniMax-H3 파티션 중 하나 또는 둘 모두의 LoRA 레이어를 저장합니다. LoRA가 어느 파티션에 속하는지는 키에서 복원할 수 없으므로, 이를 기록하는 H3 LoRA를 게시하는 유일한 방법입니다. 자세한 내용은 save_lora_weights()를 참조하세요.

unfuse_lora

< >

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

자세한 내용은 unfuse_lora()를 참조하세요.

PikaH3FlexLoraLoaderMixin

class diffusers.loaders.PikaH3FlexLoraLoaderMixin

< >

( )

MiniMaxH3Transformer3DModel에 LoRA 레이어를 로드합니다. PikaH3FlexModularPipeline에 특화된 기능입니다.

Pika H3 Flex 릴리스 는 두 개의 MiniMax-H3 transformer 파티션 위에 적용되는 rank-128 어댑터 쌍으로, diffusers 모듈 이름의 일반 PEFT 덤프로 공개됩니다(transformer에는 fl2va/adapter.safetensors, transformer_ref에는 ref2va/adapter.safetensors). alpha가 없는 파일은 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

class diffusers.loaders.lora_base.LoraBaseMixin

< >

( )

LoRA를 처리하기 위한 유틸리티 클래스입니다.

delete_adapters

< >

( adapter_names: list[str] | str )

매개변수

  • adapter_names (list[str, str]) — 삭제할 어댑터의 이름입니다.

pipeline에서 어댑터의 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”: 아무 작업도 수행하지 않음

Hotswap 어댑터를 사용하면 모델의 재컴파일 없이, 또는 로드된 어댑터의 랭크가 서로 다른 경우에도 어댑터를 교체할 수 있습니다.

fuse_lora

< >

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

매개변수

  • components — (list[str]): LoRA를 병합할 LoRA 주입 가능 컴포넌트 목록.
  • 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 구성 요소의 가중치는 블록 스케일의 중첩 딕셔너리일 수도 있습니다. 단일 스칼라 또는 딕셔너리는 모든 어댑터에 적용됩니다. 리스트는 adapter_names의 순서대로 각 어댑터당 하나의 스칼라, 딕셔너리 또는 None을 포함해야 합니다. 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 device, str 또는 정수일 수 있습니다.

adapter_names에 나열된 LoRA를 대상 장치로 이동합니다. 여러 어댑터를 로드하고 GPU 메모리를 일부 확보하려면 LoRA를 CPU로 오프로딩하는 데 유용합니다.

LoRA 어댑터를 CPU로 오프로딩한 후, 모델의 나머지 부분이 여전히 GPU에 있는 한, LoRA 어댑터를 추론에 사용할 수 없습니다. 그렇게 하면 디바이스 불일치가 발생하기 때문입니다. 해당 LoRA 어댑터를 추론에 사용하기 전에 디바이스를 다시 GPU로 설정하는 것을 잊지 마세요.

>>> 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를 unfuse할 LoRA 주입 가능 컴포넌트의 목록.
  • unfuse_unet (bool, 기본값 True) — UNet LoRA 매개변수를 unfuse할지 여부.
  • unfuse_text_encoder (bool, 기본값 True) — 텍스트 인코더의 LoRA 매개변수를 unfuse할지 여부입니다. 텍스트 인코더가 LoRA 매개변수로 monkey-patch되지 않았다면 아무런 효과가 없습니다.

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 )

LoRA 레이어의 state dict를 (선택적으로 메타데이터와 함께) 디스크에 기록합니다.

Update on GitHub