Diffusers documentation
LoRA
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
LoRA 레이어를 RFD4ProteinaTransformer에 로드합니다.
autoencoder는 denoiser 체크포인트와 함께 제공되며 조정되지 않으므로, transformer가 로드할 수 있는 유일한 모듈입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
LoraBaseMixin
LoRA를 처리하기 위한 유틸리티 클래스입니다.
delete_adapters
< source >( 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")파이프라인의 활성 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()파이프라인의 활성 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
< source >( **kwargs )
Hotswap 어댑터를 사용하면 모델의 재컴파일 없이, 또는 로드된 어댑터의 랭크가 서로 다른 경우에도 어댑터를 교체할 수 있습니다.
fuse_lora
< source >( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
해당 블록의 원래 매개변수에 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)현재 활성화된 어댑터 목록을 가져옵니다.
파이프라인에서 현재 사용 가능한 모든 어댑터의 목록을 가져옵니다.
set_adapters
< source >( 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
< source >( adapter_names: list[str]device: torch.device | str | int )
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
< source >( components: list[str] | None = None**kwargs )
pipe.fuse_lora()의 효과를 되돌립니다.
LoRA 파라미터를 언로드합니다.
write_lora_layers
< source >( 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
Stable Diffusion의 UNet2DConditionModel과 CLIPTextModel에 LoRA 레이어를 로드합니다.
load_lora_into_text_encoder
< source >( 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
< source >( 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
< source >( 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
< source >( 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 상태 사전입니다.
- Hub에 호스팅된 사전 학습 모델의 model id 문자열(예:
- 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
< source >( 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
Stable Diffusion XL의 UNet2DConditionModel, CLIPTextModel, CLIPTextModelWithProjection에 LoRA 레이어를 로드합니다.
fuse_lora
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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 상태 사전입니다.
- Hub에 호스팅된 사전 학습 모델의 model id 문자열(예:
- 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
< source >( 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()를 참조하세요.
SD3LoraLoaderMixin
LoRA 레이어를 SD3Transformer2DModel, CLIPTextModel, CLIPTextModelWithProjection에 로드합니다.
StableDiffusion3Pipeline에 특화된 내용입니다.
fuse_lora
< source >( 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
< source >( 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
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name = Nonehotswap: bool = False**kwargs )
자세한 내용은 load_lora_weights()를 참조하세요.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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
< source >( components: list = ['transformer', 'text_encoder', 'text_encoder_2']**kwargs )
자세한 내용은 unfuse_lora()를 참조하세요.
FluxLoraLoaderMixin
LoRA 레이어를 FluxTransformer2DModel, CLIPTextModel에 로드합니다.
FluxPipeline에 특화되어 있습니다.
fuse_lora
< source >( 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
< source >( 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
< source >( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]return_alphas: bool = False**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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
< source >( components: list = ['transformer', 'text_encoder']**kwargs )
pipe.fuse_lora()의 효과를 되돌립니다.
unload_lora_weights
< source >( reset_to_overwritten_params = False )
매개변수
- reset_to_overwritten_params (
bool, 기본값False) — LoRA로 로드된 모듈을 원래 파라미터로 초기화할지 여부입니다. 자세한 내용은 Flux 문서를 참고하세요.
LoRA 파라미터를 언로드합니다.
Flux2LoraLoaderMixin
Flux2Transformer2DModel에 LoRA 레이어를 로드합니다. Flux2Pipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
Flux3LoraLoaderMixin
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( 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()를 참조하세요.
BriaFibo2LoraLoaderMixin
BriaFibo2Transformer2DModel에 LoRA 레이어를 로드합니다. BriaFibo2Pipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
ErnieImageLoraLoaderMixin
ErnieImagePipeline에 특화된 ErnieImageTransformer2DModel에 LoRA 레이어를 로드합니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
LTX2LoraLoaderMixin
LTX2VideoTransformer3DModel에 LoRA 레이어를 로드합니다. LTX2Pipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = Noneprefix: str = 'transformer' )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
CogVideoXLoraLoaderMixin
LoRA 레이어를 CogVideoXTransformer3DModel에 로드합니다. CogVideoXPipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
Mochi1LoraLoaderMixin
MochiTransformer3DModel에 LoRA 레이어를 로드합니다. MochiPipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
AuraFlowLoraLoaderMixin
AuraFlowTransformer2DModel에 LoRA 레이어를 로드합니다. AuraFlowPipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
LTXVideoLoraLoaderMixin
LoRA 레이어를 LTXVideoTransformer3DModel에 로드합니다. LTXPipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
SanaLoraLoaderMixin
LoRA 레이어를 SanaTransformer2DModel에 로드합니다. SanaPipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
HeliosLoraLoaderMixin
HeliosTransformer3DModel에 LoRA 레이어를 로드합니다. HeliosPipeline과 HeliosPyramidPipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
HunyuanVideoLoraLoaderMixin
HunyuanVideoTransformer3DModel에 LoRA 레이어를 로드합니다. HunyuanVideoPipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
Lumina2LoraLoaderMixin
Lumina2Transformer2DModel에 LoRA 레이어를 로드합니다. Lumina2Pipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
CogView4LoraLoaderMixin
LoRA 레이어를 WanTransformer3DModel에 로드합니다. CogView4Pipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
WanLoraLoaderMixin
LoRA 레이어를 WanTransformer3DModel에 로드합니다. WanPipeline과 [WanImageToVideoPipeline에 특화되어 있습니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
SkyReelsV2LoraLoaderMixin
LoRA 레이어를 SkyReelsV2Transformer3DModel에 로드합니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
AmusedLoraLoaderMixin
load_lora_into_transformer
< source >( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )
자세한 내용은 load_lora_into_unet()을 참조하세요.
save_lora_weights
< source >( 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
LoRA 레이어를 CosmosTransformer3DModel과 AnimaTextConditioner에 로드합니다.
fuse_lora
< source >( components: list = ['transformer', 'text_conditioner']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
자세한 내용은 unfuse_lora()를 참조하세요.
AceStepLoraLoaderMixin
AceStepTransformer1DModel에 LoRA 레이어를 로드합니다. AceStepPipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
HiDreamImageLoraLoaderMixin
HiDreamImageTransformer2DModel에 LoRA 레이어를 로드합니다. HiDreamImagePipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
QwenImageLoraLoaderMixin
QwenImageTransformer2DModel에 LoRA 레이어를 로드합니다. QwenImagePipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
ZImageLoraLoaderMixin
LoRA 레이어를 ZImageTransformer2DModel에 로드합니다. ZImagePipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
CosmosLoraLoaderMixin
CosmosTransformer3DModel에 LoRA 레이어를 로드합니다. Cosmos2_5_PredictBasePipeline에 특화되어 있습니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
KandinskyLoraLoaderMixin
Kandinsky5Transformer3DModel에 LoRA 레이어를 로드합니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
Ideogram4LoraLoaderMixin
Ideogram4Transformer2DModel에 LoRA 레이어를 로드합니다. Ideogram4Pipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
Krea2LoraLoaderMixin
LoRA 레이어를 Krea2Transformer2DModel에 로드합니다. Krea2Pipeline에 특화된 기능입니다.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
자세한 내용은 fuse_lora()를 참조하세요.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_weights
< source >( 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
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
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
< source >( 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
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
자세한 내용은 load_lora_into_unet()을 참조하세요.
load_lora_into_transformer_ref
< source >( 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
< source >( 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 )
LoRA 레이어를 transformer에 로드하거나, load_into_transformer_ref=True를 사용하면 transformer_ref에 로드합니다. 자세한 내용은 load_lora_weights()를 참조하세요.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
자세한 내용은 lora_state_dict()을 참조하세요.
save_lora_weights
< source >( 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()를 참조하세요.
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와 함께 로드됩니다.
LoraBaseMixin
LoRA를 처리하기 위한 유틸리티 클래스입니다.
delete_adapters
< source >( 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")파이프라인의 활성 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()파이프라인의 활성 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
< source >( **kwargs )
Hotswap 어댑터를 사용하면 모델의 재컴파일 없이, 또는 로드된 어댑터의 랭크가 서로 다른 경우에도 어댑터를 교체할 수 있습니다.
fuse_lora
< source >( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
해당 블록의 원래 매개변수에 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)현재 활성화된 어댑터 목록을 가져옵니다.
파이프라인에서 현재 사용 가능한 모든 어댑터의 목록을 가져옵니다.
set_adapters
< source >( 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
< source >( adapter_names: list[str]device: torch.device | str | int )
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
< source >( components: list[str] | None = None**kwargs )
pipe.fuse_lora()의 효과를 되돌립니다.
LoRA 파라미터를 언로드합니다.
write_lora_layers
< source >( 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를 (선택적으로 메타데이터와 함께) 디스크에 기록합니다.