Diffusers documentation
LoRA
LoRA
LoRA adalah metode pelatihan yang cepat dan ringan, yang menyisipkan dan melatih jumlah parameter yang jauh lebih sedikit dibandingkan seluruh parameter model. Hal ini menghasilkan file yang lebih kecil (~100 MB) dan memudahkan pelatihan model dengan cepat untuk mempelajari konsep baru. Bobot LoRA biasanya dimuat ke dalam denoiser, text encoder, atau keduanya. Denoiser biasanya merujuk pada UNet (misalnya UNet2DConditionModel) atau Transformer (misalnya SD3Transformer2DModel). Terdapat beberapa kelas untuk memuat bobot LoRA:
StableDiffusionLoraLoaderMixinmenyediakan fungsi untuk memuat dan melepas, menggabungkan dan memisahkan, mengaktifkan dan menonaktifkan, serta fungsi lain untuk mengelola bobot LoRA. Kelas ini dapat digunakan dengan model apa pun.StableDiffusionXLLoraLoaderMixinadalah versi Stable Diffusion (SDXL) dari kelasStableDiffusionLoraLoaderMixinuntuk memuat dan menyimpan bobot LoRA. Kelas ini hanya dapat digunakan dengan model SDXL.SD3LoraLoaderMixinmenyediakan fungsi serupa untuk Stable Diffusion 3.FluxLoraLoaderMixinmenyediakan fungsi serupa untuk Flux.CogVideoXLoraLoaderMixinmenyediakan fungsi serupa untuk CogVideoX.Mochi1LoraLoaderMixinmenyediakan fungsi serupa untuk Mochi.AuraFlowLoraLoaderMixinmenyediakan fungsi serupa untuk AuraFlow.LTXVideoLoraLoaderMixinmenyediakan fungsi serupa untuk LTX-Video.SanaLoraLoaderMixinmenyediakan fungsi serupa untuk Sana.HeliosLoraLoaderMixinmenyediakan fungsi serupa untuk HunyuanVideo.HunyuanVideoLoraLoaderMixinmenyediakan fungsi serupa untuk HunyuanVideo.Lumina2LoraLoaderMixinmenyediakan fungsi serupa untuk Lumina2.WanLoraLoaderMixinmenyediakan fungsi serupa untuk Wan.SkyReelsV2LoraLoaderMixinmenyediakan fungsi serupa untuk SkyReels-V2.CogView4LoraLoaderMixinmenyediakan fungsi serupa untuk CogView4.AmusedLoraLoaderMixinadalah untukAmusedPipeline.AnimaLoraLoaderMixinmenyediakan fungsi serupa untuk Anima.AceStepLoraLoaderMixinmenyediakan fungsi serupa untuk ACE-Step.HiDreamImageLoraLoaderMixinmenyediakan fungsi serupa untuk HiDream ImageQwenImageLoraLoaderMixinmenyediakan fungsi serupa untuk Qwen Image.ZImageLoraLoaderMixinmenyediakan fungsi serupa untuk Z-Image.Flux2LoraLoaderMixinmenyediakan fungsi serupa untuk Flux2.ErnieImageLoraLoaderMixinmenyediakan fungsi serupa untuk Ernie-Image.LTX2LoraLoaderMixinmenyediakan fungsi serupa untuk Flux2.MiniMaxH3LoraLoaderMixinmenyediakan fungsi serupa untuk MiniMax-H3.PikaH3FlexLoraLoaderMixinmenyediakan fungsi serupa untuk Pika H3 Flex.RFD4ProteinaLoraLoaderMixinmenyediakan fungsi serupa untuk RFD4-Proteína.BriaFibo2LoraLoaderMixinmenyediakan fungsi serupa untuk fibo-2.LoraBaseMixinmenyediakan kelas dasar dengan beberapa metode utilitas untuk menggabungkan, memisahkan, memuat ulang, LoRA, dan lainnya.
Untuk mempelajari lebih lanjut tentang cara memuat bobot LoRA, lihat panduan pemuatan LoRA.
RFD4ProteinaLoraLoaderMixin
Muat lapisan LoRA ke dalam RFD4ProteinaTransformer.
Autoencoder dipasangkan dengan checkpoint denoiser dan tidak diadaptasi, sehingga transformer adalah satu-satunya modul yang dapat dimuat.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
LoraBaseMixin
Kelas utilitas untuk menangani LoRA.
delete_adapters
< source >( adapter_names: list[str] | str )
Hapus lapisan LoRA dari adapter di pipeline.
Contoh:
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")Menonaktifkan lapisan LoRA aktif dari pipeline.
Contoh:
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()Mengaktifkan lapisan LoRA aktif dari pipeline.
Contoh:
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 )
Parameter
- target_rank (
int) — Rank tertinggi di antara semua adapter yang akan dimuat. - check_compiled (
str, opsional, defaultnya"error") — Cara menangani model yang sudah dikompilasi. Pengecekan dapat mengembalikan pesan berikut:- “error” (default): lempar error
- “warn”: mengeluarkan peringatan
- “ignore”: tidak melakukan apa pun
Hotswap adapter tanpa memicu kompilasi ulang model atau jika rank dari adapter yang dimuat berbeda.
fuse_lora
< source >( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Parameter
- components — (
list[str]): daftar komponen yang dapat disuntikkan LoRA untuk memfusi LoRA ke dalamnya. - lora_scale (
float, default 1.0) — Mengontrol seberapa besar pengaruh parameter LoRA terhadap output. - safe_fusing (
bool, defaultnyaFalse) — Apakah akan memeriksa nilai NaN pada bobot yang sudah digabungkan sebelum proses penggabungan, dan jika nilainya NaN, maka bobot tersebut tidak akan digabungkan. - adapter_names (
list[str], opsional) — Nama-nama adapter yang akan digunakan untuk fusi. Jika tidak ada yang diteruskan, semua adapter aktif akan difusi.
Menggabungkan parameter LoRA ke dalam parameter asli dari blok yang sesuai.
Contoh:
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)Mendapatkan daftar adapter aktif saat ini.
Mendapatkan daftar saat ini dari semua adapter yang tersedia di pipeline.
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 )
Parameter
- adapter_names (
list[str]ataustr) — Nama-nama adapter yang akan digunakan. - adapter_weights (
float,dictataulist, opsional) — Bobot untuk adapter. Skalar akan menskalakan semua komponen yang kompatibel dengan LoRA. Kamus memetakan nama komponen (mis."unet","transformer"atau"text_encoder") ke bobot; bobot komponen UNet juga bisa berupa kamus bersarang dari skala blok. Skalar atau kamus tunggal diterapkan ke setiap adapter. Daftar harus berisi satu skalar, kamus, atauNoneper adapter, sesuai urutanadapter_names.Nonesecara default menjadi1.0, termasuk entri daftar dan bobot komponen. Komponen yang tidak dinyatakan dan blok UNet juga secara default menjadi1.0.
Atur adapter yang saat ini aktif untuk digunakan dalam pipeline.
Contoh:
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 )
Memindahkan LoRA yang tercantum dalam adapter_names ke perangkat target. Berguna untuk offloading LoRA ke CPU jika Anda ingin memuat beberapa adapter dan membebaskan sebagian memori GPU.
Setelah meng-offload adapter LoRA ke CPU, selama bagian lain dari model masih berada di GPU, adapter LoRA tidak dapat lagi digunakan untuk inferensi, karena hal itu akan menyebabkan ketidakcocokan perangkat. Ingatlah untuk mengatur perangkat kembali ke GPU sebelum menggunakan adapter LoRA tersebut untuk inferensi.
>>> 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 )
Parameter
- components (
list[str]) — daftar komponen yang dapat diinjeksi LoRA untuk melepas LoRA. - unfuse_unet (
bool, defaultnyaTrue) — Apakah akan memisahkan parameter LoRA dari UNet. - unfuse_text_encoder (
bool, defaultnyaTrue) — Apakah akan memisahkan (unfuse) parameter LoRA dari text encoder. Jika text encoder tidak di-patch secara monkey-patch dengan parameter LoRA, maka tidak akan ada efeknya.
Membalikkan efek dari pipe.fuse_lora().
Memuat ulang parameter 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 )
Menulis state dict dari lapisan LoRA (opsional dengan metadata) ke disk.
StableDiffusionLoraLoaderMixin
Muat lapisan LoRA ke dalam UNet2DConditionModel dan CLIPTextModel Stable Diffusion.
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 )
Parameter
- state_dict (
dict) — State dict standar yang berisi parameter lapisan lora. Kuncinya harus diberi awalan tambahantext_encoderuntuk membedakan lapisan lora unet. - network_alphas (
dict[str, float]) — Nilai network alpha yang digunakan untuk pembelajaran yang stabil dan mencegah underflow. Nilai ini memiliki makna yang sama dengan opsi--network_alphadalam skrip trainer kohya-ss. Lihat tautan ini. - text_encoder (
CLIPTextModel) — Model encoder teks untuk memuat lapisan LoRA. - prefix (
str) — Prefix yang diharapkan daritext_encoderdalamstate_dict. - lora_scale (
float) — Berapa banyak skala output dari lora linear layer sebelum ditambahkan dengan output dari lora layer reguler. - adapter_name (
str, opsional) — Nama adapter yang akan digunakan untuk merujuk model adapter yang dimuat. Jika tidak ditentukan, akan digunakandefault_{i}di mana i adalah total jumlah adapter yang dimuat. - low_cpu_mem_usage (
bool, opsional) — Percepat pemuatan model dengan hanya memuat bobot LoRA pretrained dan tidak menginisialisasi bobot acak. - hotswap (
bool, opsional) — Lihat load_lora_weights(). - metadata (
dict) — Metadata adapter LoRA opsional. Jika diberikan, argumenLoraConfigdaripefttidak akan diturunkan dari state dict.
Ini akan memuat lapisan LoRA yang ditentukan dalam state_dict ke dalam text_encoder
load_lora_into_unet
< source >( state_dictnetwork_alphasunetadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Parameter
- state_dict (
dict) — State dict standar yang berisi parameter lapisan lora. Kunci-kuncinya dapat diindeks langsung ke unet atau diberi awalan tambahanunetyang dapat digunakan untuk membedakan lapisan lora text encoder. - network_alphas (
dict[str, float]) — Nilai network alpha yang digunakan untuk pembelajaran yang stabil dan mencegah underflow. Nilai ini memiliki makna yang sama dengan opsi--network_alphadalam skrip trainer kohya-ss. Lihat tautan ini. - unet (
UNet2DConditionModel) — Model UNet untuk memuat lapisan LoRA. - adapter_name (
str, opsional) — Nama adapter yang akan digunakan untuk merujuk model adapter yang dimuat. Jika tidak ditentukan, akan digunakandefault_{i}di mana i adalah total jumlah adapter yang dimuat. - low_cpu_mem_usage (
bool, opsional) — Percepat pemuatan model dengan hanya memuat bobot LoRA pretrained dan tidak menginisialisasi bobot acak. - hotswap (
bool, opsional) — Lihat load_lora_weights(). - metadata (
dict) — Metadata adapter LoRA opsional. Jika diberikan, argumenLoraConfigdaripefttidak akan diturunkan dari state dict.
Ini akan memuat lapisan LoRA yang ditentukan dalam state_dict ke dalam 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 )
Parameter
- pretrained_model_name_or_path_or_dict (
stratauos.PathLikeataudict) — Lihat lora_state_dict(). - adapter_name (
str, opsional) — Nama adapter yang akan digunakan untuk merujuk model adapter yang dimuat. Jika tidak ditentukan, akan digunakandefault_{i}di mana i adalah total jumlah adapter yang dimuat. - low_cpu_mem_usage (
bool, opsional) — Percepat pemuatan model dengan hanya memuat bobot LoRA pretrained dan tidak menginisialisasi bobot acak. - hotswap (
bool, opsional) — Bawaan adalahFalse. Apakah akan mengganti adapter (LoRA) yang sudah ada dengan adapter yang baru dimuat secara in-place. Artinya, alih-alih memuat adapter tambahan, proses ini akan mengambil bobot adapter yang ada dan menggantinya dengan bobot adapter baru. Hal ini bisa lebih cepat dan lebih efisien dalam penggunaan memori. Namun, keuntungan utama dari hotswapping adalah ketika model dikompilasi dengan torch.compile, pemuatan adapter baru tidak memerlukan kompilasi ulang model. Saat menggunakan hotswapping,adapter_nameharus berupa nama adapter yang sudah dimuat.Jika adapter baru dan adapter lama memiliki rank dan/atau alpha LoRA (yaitu scaling) yang berbeda, Anda perlu memanggil metode tambahan sebelum memuat adapter:
Muat bobot LoRA yang ditentukan dalam pretrained_model_name_or_path_or_dict ke self.unet dan self.text_encoder.
Semua kwargs diteruskan ke self.lora_state_dict.
Lihat lora_state_dict() untuk detail lebih lanjut tentang cara state dict dimuat.
Lihat load_lora_into_unet() untuk detail lebih lanjut tentang bagaimana state dict dimuat ke dalam self.unet.
Lihat load_lora_into_text_encoder() untuk detail lebih lanjut tentang bagaimana state dict dimuat ke dalam self.text_encoder.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Parameter
- pretrained_model_name_or_path_or_dict (
stratauos.PathLikeataudict) — Dapat berupa:- String, model id (misalnya
google/ddpm-celebahq-256) dari model pretrained yang dihosting di Hub. - Path ke direktori (misalnya
./my_model_directory) yang berisi bobot model yang disimpan dengan ModelMixin.save_pretrained(). - torch state dict.
- String, model id (misalnya
- cache_dir (
str | os.PathLike, opsional) — Path ke direktori tempat konfigurasi model pretrained yang diunduh di-cache jika cache standar tidak digunakan. - force_download (
bool, opsional, defaultFalse) — Apakah akan memaksa (mengunduh ulang) bobot model dan file konfigurasi, menimpa versi yang sudah di-cache jika ada. - proxies (
dict[str, str], opsional) — Kamus server proxy yang digunakan berdasarkan protokol atau endpoint, misalnya{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Proxy digunakan pada setiap permintaan. - local_files_only (
bool, opsional, defaultFalse) — Apakah hanya memuat bobot model dan file konfigurasi lokal atau tidak. Jika diatur keTrue, model tidak akan diunduh dari Hub. - token (
stratau bool, opsional) — Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. JikaTrue, token yang dihasilkan daridiffusers-cli login(disimpan di~/.huggingface) akan digunakan. - revision (
str, opsional, default"main") — Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, commit id, atau identifier apa pun yang diizinkan oleh Git. - subfolder (
str, opsional, default"") — Lokasi subfolder dari file model di dalam repositori model yang lebih besar di Hub atau secara lokal. - weight_name (
str, opsional, defaultnya None) — Nama file state dict yang diserialisasi. - return_lora_metadata (
bool, opsional, default False) — Jika diaktifkan, kembalikan juga metadata adapter LoRA, yang biasanya ditemukan dalam state dict.
Kembalikan state dict untuk bobot lora dan alfa jaringan.
> Kami mendukung pemuatan checkpoint LoRA berformat A1111 dengan kapasitas terbatas. > > Fungsi ini bersifat eksperimental dan mungkin berubah di masa depan.
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 )
Parameter
- save_directory (
stratauos.PathLike) — Direktori untuk menyimpan parameter LoRA. Akan dibuat jika belum ada. - unet_lora_layers (
dict[str, torch.nn.Module]ataudict[str, torch.Tensor]) — State dict dari lapisan LoRA yang sesuai denganunet. - text_encoder_lora_layers (
dict[str, torch.nn.Module]ataudict[str, torch.Tensor]) — State dict dari lapisan LoRA yang sesuai dengantext_encoder. Anda harus secara eksplisit meneruskan state dict LoRA text encoder karena berasal dari 🤗 Transformers. - is_main_process (
bool, opsional, defaultTrue) — Apakah proses yang memanggil ini adalah proses utama atau tidak. Berguna selama pelatihan terdistribusi dan Anda perlu memanggil fungsi ini di semua proses. Dalam kasus ini, setelis_main_process=Truehanya pada proses utama untuk menghindari kondisi balapan. - save_function (
Callable) — Fungsi yang digunakan untuk menyimpan state dictionary. Berguna selama pelatihan terdistribusi ketika Anda perlu menggantitorch.savedengan metode lain. Dapat dikonfigurasi dengan variabel lingkunganDIFFUSERS_SAVE_MODE. - safe_serialization (
bool, opsional, defaultTrue) — Apakah model disimpan menggunakansafetensorsatau cara tradisional PyTorch denganpickle. - unet_lora_adapter_metadata — Metadata adapter LoRA yang terkait dengan unet untuk diserialisasi bersama state dict.
- text_encoder_lora_adapter_metadata — Metadata adapter LoRA yang terkait dengan text encoder untuk diserialisasi bersama state dict.
Simpan parameter LoRA yang sesuai dengan UNet dan text encoder.
StableDiffusionXLLoraLoaderMixin
Muat lapisan LoRA ke dalam UNet2DConditionModel, CLIPTextModel, dan CLIPTextModelWithProjection Stable Diffusion XL.
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 )
Lihat fuse_lora() untuk detail lebih lanjut.
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 )
Parameter
- state_dict (
dict) — State dict standar yang berisi parameter lapisan lora. Kuncinya harus diberi awalan tambahantext_encoderuntuk membedakan lapisan lora unet. - network_alphas (
dict[str, float]) — Nilai network alpha yang digunakan untuk pembelajaran yang stabil dan mencegah underflow. Nilai ini memiliki makna yang sama dengan opsi--network_alphadalam skrip trainer kohya-ss. Lihat tautan ini. - text_encoder (
CLIPTextModel) — Model encoder teks untuk memuat lapisan LoRA. - prefix (
str) — Prefix yang diharapkan daritext_encoderdalamstate_dict. - lora_scale (
float) — Berapa banyak skala output dari lora linear layer sebelum ditambahkan dengan output dari lora layer reguler. - adapter_name (
str, opsional) — Nama adapter yang akan digunakan untuk merujuk model adapter yang dimuat. Jika tidak ditentukan, akan digunakandefault_{i}di mana i adalah total jumlah adapter yang dimuat. - low_cpu_mem_usage (
bool, opsional) — Percepat pemuatan model dengan hanya memuat bobot LoRA pretrained dan tidak menginisialisasi bobot acak. - hotswap (
bool, opsional) — Lihat load_lora_weights(). - metadata (
dict) — Metadata adapter LoRA opsional. Jika diberikan, argumenLoraConfigdaripefttidak akan diturunkan dari state dict.
Ini akan memuat lapisan LoRA yang ditentukan dalam state_dict ke dalam text_encoder
load_lora_into_unet
< source >( state_dictnetwork_alphasunetadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Parameter
- state_dict (
dict) — State dict standar yang berisi parameter lapisan lora. Kunci-kuncinya dapat diindeks langsung ke unet atau diberi awalan tambahanunetyang dapat digunakan untuk membedakan lapisan lora text encoder. - network_alphas (
dict[str, float]) — Nilai network alpha yang digunakan untuk pembelajaran yang stabil dan mencegah underflow. Nilai ini memiliki makna yang sama dengan opsi--network_alphadalam skrip trainer kohya-ss. Lihat tautan ini. - unet (
UNet2DConditionModel) — Model UNet untuk memuat lapisan LoRA. - adapter_name (
str, opsional) — Nama adapter yang akan digunakan untuk merujuk model adapter yang dimuat. Jika tidak ditentukan, akan digunakandefault_{i}di mana i adalah total jumlah adapter yang dimuat. - low_cpu_mem_usage (
bool, opsional) — Percepat pemuatan model dengan hanya memuat bobot LoRA pretrained dan tidak menginisialisasi bobot acak. - hotswap (
bool, opsional) — Lihat load_lora_weights(). - metadata (
dict) — Metadata adapter LoRA opsional. Jika diberikan, argumenLoraConfigdaripefttidak akan diturunkan dari state dict.
Ini akan memuat lapisan LoRA yang ditentukan dalam state_dict ke dalam 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 )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Parameter
- pretrained_model_name_or_path_or_dict (
stratauos.PathLikeataudict) — Dapat berupa:- String, model id (misalnya
google/ddpm-celebahq-256) dari model pretrained yang dihosting di Hub. - Path ke direktori (misalnya
./my_model_directory) yang berisi bobot model yang disimpan dengan ModelMixin.save_pretrained(). - torch state dict.
- String, model id (misalnya
- cache_dir (
str | os.PathLike, opsional) — Path ke direktori tempat konfigurasi model pretrained yang diunduh di-cache jika cache standar tidak digunakan. - force_download (
bool, opsional, defaultFalse) — Apakah akan memaksa (mengunduh ulang) bobot model dan file konfigurasi, menimpa versi yang sudah di-cache jika ada. - proxies (
dict[str, str], opsional) — Kamus server proxy yang digunakan berdasarkan protokol atau endpoint, misalnya{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Proxy digunakan pada setiap permintaan. - local_files_only (
bool, opsional, defaultFalse) — Apakah hanya memuat bobot model dan file konfigurasi lokal atau tidak. Jika diatur keTrue, model tidak akan diunduh dari Hub. - token (
stratau bool, opsional) — Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. JikaTrue, token yang dihasilkan daridiffusers-cli login(disimpan di~/.huggingface) akan digunakan. - revision (
str, opsional, default"main") — Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, commit id, atau identifier apa pun yang diizinkan oleh Git. - subfolder (
str, opsional, default"") — Lokasi subfolder dari file model di dalam repositori model yang lebih besar di Hub atau secara lokal. - weight_name (
str, opsional, defaultnya None) — Nama file state dict yang diserialisasi. - return_lora_metadata (
bool, opsional, default False) — Jika diaktifkan, kembalikan juga metadata adapter LoRA, yang biasanya ditemukan dalam state dict.
Kembalikan state dict untuk bobot lora dan alfa jaringan.
> Kami mendukung pemuatan checkpoint LoRA berformat A1111 dengan kapasitas terbatas. > > Fungsi ini bersifat eksperimental dan mungkin berubah di masa depan.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
SD3LoraLoaderMixin
Muat lapisan LoRA ke dalam SD3Transformer2DModel, CLIPTextModel, dan CLIPTextModelWithProjection.
Khusus untuk 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 )
Lihat fuse_lora() untuk detail lebih lanjut.
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 )
Parameter
- state_dict (
dict) — State dict standar yang berisi parameter lapisan lora. Kuncinya harus diberi awalan tambahantext_encoderuntuk membedakan lapisan lora unet. - network_alphas (
dict[str, float]) — Nilai network alpha yang digunakan untuk pembelajaran yang stabil dan mencegah underflow. Nilai ini memiliki makna yang sama dengan opsi--network_alphadalam skrip trainer kohya-ss. Lihat tautan ini. - text_encoder (
CLIPTextModel) — Model encoder teks untuk memuat lapisan LoRA. - prefix (
str) — Prefix yang diharapkan daritext_encoderdalamstate_dict. - lora_scale (
float) — Berapa banyak skala output dari lora linear layer sebelum ditambahkan dengan output dari lora layer reguler. - adapter_name (
str, opsional) — Nama adapter yang akan digunakan untuk merujuk model adapter yang dimuat. Jika tidak ditentukan, akan digunakandefault_{i}di mana i adalah total jumlah adapter yang dimuat. - low_cpu_mem_usage (
bool, opsional) — Percepat pemuatan model dengan hanya memuat bobot LoRA pretrained dan tidak menginisialisasi bobot acak. - hotswap (
bool, opsional) — Lihat load_lora_weights(). - metadata (
dict) — Metadata adapter LoRA opsional. Jika diberikan, argumenLoraConfigdaripefttidak akan diturunkan dari state dict.
Ini akan memuat lapisan LoRA yang ditentukan dalam state_dict ke dalam text_encoder
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
unfuse_lora
< source >( components: list = ['transformer', 'text_encoder', 'text_encoder_2']**kwargs )
Lihat unfuse_lora() untuk detail lebih lanjut.
FluxLoraLoaderMixin
Muat lapisan LoRA ke dalam FluxTransformer2DModel, CLIPTextModel.
Khusus untuk FluxPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Parameter
- state_dict (
dict) — State dict standar yang berisi parameter lapisan lora. Kuncinya harus diberi awalan tambahantext_encoderuntuk membedakan lapisan lora unet. - network_alphas (
dict[str, float]) — Nilai network alpha yang digunakan untuk pembelajaran yang stabil dan mencegah underflow. Nilai ini memiliki makna yang sama dengan opsi--network_alphadalam skrip trainer kohya-ss. Lihat tautan ini. - text_encoder (
CLIPTextModel) — Model encoder teks untuk memuat lapisan LoRA. - prefix (
str) — Prefix yang diharapkan daritext_encoderdalamstate_dict. - lora_scale (
float) — Berapa banyak skala output dari lora linear layer sebelum ditambahkan dengan output dari lora layer reguler. - adapter_name (
str, opsional) — Nama adapter yang akan digunakan untuk merujuk model adapter yang dimuat. Jika tidak ditentukan, akan digunakandefault_{i}di mana i adalah total jumlah adapter yang dimuat. - low_cpu_mem_usage (
bool, opsional) — Percepat pemuatan model dengan hanya memuat bobot LoRA pretrained dan tidak menginisialisasi bobot acak. - hotswap (
bool, opsional) — Lihat load_lora_weights(). - metadata (
dict) — Metadata adapter LoRA opsional. Jika diberikan, argumenLoraConfigdaripefttidak akan diturunkan dari state dict.
Ini akan memuat lapisan LoRA yang ditentukan dalam state_dict ke dalam text_encoder
load_lora_into_transformer
< source >( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]return_alphas: bool = False**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Parameter
- save_directory (
stratauos.PathLike) — Direktori untuk menyimpan parameter LoRA. Akan dibuat jika belum ada. - transformer_lora_layers (
dict[str, torch.nn.Module]ataudict[str, torch.Tensor]) — State dict dari lapisan LoRA yang sesuai dengantransformer. - text_encoder_lora_layers (
dict[str, torch.nn.Module]ataudict[str, torch.Tensor]) — State dict dari lapisan LoRA yang sesuai dengantext_encoder. Anda harus secara eksplisit meneruskan state dict LoRA text encoder karena berasal dari 🤗 Transformers. - is_main_process (
bool, opsional, defaultTrue) — Apakah proses yang memanggil ini adalah proses utama atau tidak. Berguna selama pelatihan terdistribusi dan Anda perlu memanggil fungsi ini di semua proses. Dalam kasus ini, setelis_main_process=Truehanya pada proses utama untuk menghindari kondisi balapan. - save_function (
Callable) — Fungsi yang digunakan untuk menyimpan state dictionary. Berguna selama pelatihan terdistribusi ketika Anda perlu menggantitorch.savedengan metode lain. Dapat dikonfigurasi dengan variabel lingkunganDIFFUSERS_SAVE_MODE. - safe_serialization (
bool, opsional, defaultTrue) — Apakah model disimpan menggunakansafetensorsatau cara tradisional PyTorch denganpickle. - transformer_lora_adapter_metadata — Metadata adapter LoRA yang terkait dengan transformer untuk diserialisasi bersama state dict.
- text_encoder_lora_adapter_metadata — Metadata adapter LoRA yang terkait dengan text encoder untuk diserialisasi bersama state dict.
Simpan parameter LoRA yang sesuai dengan UNet dan text encoder.
unfuse_lora
< source >( components: list = ['transformer', 'text_encoder']**kwargs )
Membalikkan efek dari pipe.fuse_lora().
unload_lora_weights
< source >( reset_to_overwritten_params = False )
Parameter
- reset_to_overwritten_params (
bool, defaultnyaFalse) — Apakah modul yang dimuat LoRA akan direset ke parameter aslinya. Lihat dokumentasi Flux untuk mempelajari lebih lanjut.
Memuat ulang parameter LoRA.
Flux2LoraLoaderMixin
Muat lapisan LoRA ke dalam Flux2Transformer2DModel. Khusus untuk Flux2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
Flux3LoraLoaderMixin
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
BriaFibo2LoraLoaderMixin
Muat lapisan LoRA ke dalam BriaFibo2Transformer2DModel. Khusus untuk BriaFibo2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
ErnieImageLoraLoaderMixin
Muat lapisan LoRA ke dalam ErnieImageTransformer2DModel. Khusus untuk ErnieImagePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
LTX2LoraLoaderMixin
Muat lapisan LoRA ke dalam LTX2VideoTransformer3DModel. Khusus untuk LTX2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = Noneprefix: str = 'transformer' )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
CogVideoXLoraLoaderMixin
Muat lapisan LoRA ke dalam CogVideoXTransformer3DModel. Khusus untuk CogVideoXPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
Mochi1LoraLoaderMixin
Muat lapisan LoRA ke dalam MochiTransformer3DModel. Khusus untuk MochiPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
AuraFlowLoraLoaderMixin
Muat lapisan LoRA ke dalam AuraFlowTransformer2DModel Khusus untuk AuraFlowPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
LTXVideoLoraLoaderMixin
Muat lapisan LoRA ke dalam LTXVideoTransformer3DModel. Khusus untuk LTXPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
SanaLoraLoaderMixin
Muat lapisan LoRA ke dalam SanaTransformer2DModel. Khusus untuk SanaPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
HeliosLoraLoaderMixin
Muat lapisan LoRA ke dalam HeliosTransformer3DModel. Khusus untuk HeliosPipeline dan HeliosPyramidPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
HunyuanVideoLoraLoaderMixin
Muat lapisan LoRA ke dalam HunyuanVideoTransformer3DModel. Khusus untuk HunyuanVideoPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
Lumina2LoraLoaderMixin
Muat lapisan LoRA ke dalam Lumina2Transformer2DModel. Khusus untuk Lumina2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
CogView4LoraLoaderMixin
Muat lapisan LoRA ke dalam WanTransformer3DModel. Khusus untuk CogView4Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
WanLoraLoaderMixin
Muat lapisan LoRA ke dalam WanTransformer3DModel. Khusus untuk WanPipeline dan [WanImageToVideoPipeline].
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
SkyReelsV2LoraLoaderMixin
Muat lapisan LoRA ke dalam SkyReelsV2Transformer3DModel.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
AmusedLoraLoaderMixin
load_lora_into_transformer
< source >( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
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 )
Parameter
- save_directory (
stratauos.PathLike) — Direktori untuk menyimpan parameter LoRA. Akan dibuat jika belum ada. - unet_lora_layers (
dict[str, torch.nn.Module]ataudict[str, torch.Tensor]) — State dict dari lapisan LoRA yang sesuai denganunet. - text_encoder_lora_layers (
dict[str, torch.nn.Module]ataudict[str, torch.Tensor]) — State dict dari lapisan LoRA yang sesuai dengantext_encoder. Anda harus secara eksplisit meneruskan state dict LoRA text encoder karena berasal dari 🤗 Transformers. - is_main_process (
bool, opsional, defaultTrue) — Apakah proses yang memanggil ini adalah proses utama atau tidak. Berguna selama pelatihan terdistribusi dan Anda perlu memanggil fungsi ini di semua proses. Dalam kasus ini, setelis_main_process=Truehanya pada proses utama untuk menghindari kondisi balapan. - save_function (
Callable) — Fungsi yang digunakan untuk menyimpan state dictionary. Berguna selama pelatihan terdistribusi ketika Anda perlu menggantitorch.savedengan metode lain. Dapat dikonfigurasi dengan variabel lingkunganDIFFUSERS_SAVE_MODE. - safe_serialization (
bool, opsional, defaultTrue) — Apakah model disimpan menggunakansafetensorsatau cara tradisional PyTorch denganpickle.
Simpan parameter LoRA yang sesuai dengan UNet dan text encoder.
AnimaLoraLoaderMixin
Muat lapisan LoRA ke dalam CosmosTransformer3DModel dan AnimaTextConditioner.
fuse_lora
< source >( components: list = ['transformer', 'text_conditioner']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
AceStepLoraLoaderMixin
Muat lapisan LoRA ke dalam AceStepTransformer1DModel. Khusus untuk AceStepPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
HiDreamImageLoraLoaderMixin
Muat lapisan LoRA ke dalam HiDreamImageTransformer2DModel. Khusus untuk HiDreamImagePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
QwenImageLoraLoaderMixin
Muat lapisan LoRA ke dalam QwenImageTransformer2DModel. Khusus untuk QwenImagePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
ZImageLoraLoaderMixin
Muat lapisan LoRA ke dalam ZImageTransformer2DModel. Khusus untuk ZImagePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
CosmosLoraLoaderMixin
Muat lapisan LoRA ke dalam CosmosTransformer3DModel, Khusus untuk Cosmos2_5_PredictBasePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
KandinskyLoraLoaderMixin
Muat lapisan LoRA ke dalam Kandinsky5Transformer3DModel,
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
Ideogram4LoraLoaderMixin
Muat lapisan LoRA ke dalam Ideogram4Transformer2DModel. Khusus untuk Ideogram4Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
Krea2LoraLoaderMixin
Muat lapisan LoRA ke dalam Krea2Transformer2DModel. Khusus untuk Krea2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
MiniMaxH3LoraLoaderMixin
Muat lapisan LoRA ke dalam MiniMaxH3Transformer3DModel. Khusus untuk MiniMaxH3ModularPipeline.
MiniMax-H3 menyediakan dua partisi DiT independen dengan nama modul yang identik (LoRA untuk satu partisi akan dimuat ke partisi lainnya dan menurunkan kualitas output), sehingga routing dilakukan secara eksplisit: state dict yang dikonversi menargetkan transformer.; akses ke transformer_ref dilakukan dengan file berawalan transformer_ref. atau load_into_transformer_ref=True.
LoRA dari DiffSynth-Studio (misalnya DiffSynth-Studio/MiniMax-H3-LoRA-LineartAnime)
dilatih terhadap QKV fused per-head-interleaved dari checkpoint mentah dan di-de-interleave saat konversi. Faktor
fp32 mereka membuat jalur LoRA non-fused menghitung dalam fp32; .to(torch.bfloat16) pada model setelah dimuat memulihkan
anggaran memori bf16.
LoRA yang dilatih terhadap checkpoint yang dipangkas (file *_pruned_* di Comfy-Org/MiniMax-H3; joyfox/MiniMax-H3-Turbo adalah salah satunya) gagal dengan ketidakcocokan ukuran.
File tanpa alpha dimuat pada alpha == rank (skala 1.0, konvensi yang dinyatakan oleh misalnya larryvrh/MiniMax-H3-Turbo-Lora); entri alpha dalam __metadata__ (misalnya file 8-langkah dari lightx2v/Minimax-h3-Turbo), jika ada, diprioritaskan.
fuse_lora
< source >( components: list = ['transformer', 'transformer_ref']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Lihat fuse_lora() untuk detail lebih lanjut.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Lihat load_lora_into_unet() untuk detail lebih lanjut.
load_lora_into_transformer_ref
< source >( state_dicttransformer_refprefixadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
Muat lapisan LoRA ke partisi transformer_ref. prefix adalah nama komponen yang dibawa oleh kunci, yaitu transformer_ref untuk file yang menamai partisi dan transformer untuk file yang diarahkan ke sini oleh load_into_transformer_ref=True. Lihat load_lora_into_unet() untuk detail lebih lanjut.
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 )
Parameter
- load_into_transformer_ref (
bool, defaultFalse) — Muat lapisan berawalantransformer.ke partisitransformer_ref— partisi yang digunakan oleh workflowref2vauntuk denoising — alih-alihtransformer. Hanya diperlukan ketika kedua partisi dimuat: pipeline yang hanya memegangtransformer_refakan secara otomatis mengarah ke sana.
Muat lapisan LoRA ke dalam transformer atau, dengan load_into_transformer_ref=True, ke dalam transformer_ref. Lihat load_lora_weights() untuk detail lebih lanjut.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
Lihat lora_state_dict() untuk detail lebih lanjut.
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 )
Simpan lapisan LoRA dari satu atau kedua partisi MiniMax-H3. Partisi mana yang dimiliki oleh sebuah LoRA tidak dapat dipulihkan dari kuncinya, sehingga ini adalah satu-satunya cara untuk menerbitkan LoRA H3 yang mencatatnya. Lihat save_lora_weights() untuk informasi lebih lanjut.
Lihat unfuse_lora() untuk detail lebih lanjut.
PikaH3FlexLoraLoaderMixin
Muat lapisan LoRA ke dalam MiniMaxH3Transformer3DModel. Khusus untuk PikaH3FlexModularPipeline.
Rilis Pika H3 Flex adalah sepasang adapter rank-128 di atas dua partisi transformer MiniMax-H3, yang diterbitkan sebagai dump PEFT biasa dari nama modul diffusers (fl2va/adapter.safetensors untuk transformer, ref2va/adapter.safetensors untuk transformer_ref). File tanpa alpha dimuat pada alpha == rank (skala 1.0), sesuai kontrak adapter itu sendiri, dan proses pemuatan, perutean, serta penyimpanan mengikuti MiniMaxH3LoraLoaderMixin: adapter fl2va masuk ke transformer, dan adapter ref2va masuk ke transformer_ref — secara mandiri ketika pipeline hanya memegang partisi tersebut (workflow="ref2va"), atau dengan load_into_transformer_ref=True ketika pipeline memegang keduanya.
LoraBaseMixin
Kelas utilitas untuk menangani LoRA.
delete_adapters
< source >( adapter_names: list[str] | str )
Hapus lapisan LoRA dari adapter di pipeline.
Contoh:
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")Menonaktifkan lapisan LoRA aktif dari pipeline.
Contoh:
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()Mengaktifkan lapisan LoRA aktif dari pipeline.
Contoh:
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 )
Parameter
- target_rank (
int) — Rank tertinggi di antara semua adapter yang akan dimuat. - check_compiled (
str, opsional, defaultnya"error") — Cara menangani model yang sudah dikompilasi. Pengecekan dapat mengembalikan pesan berikut:- “error” (default): lempar error
- “warn”: mengeluarkan peringatan
- “ignore”: tidak melakukan apa pun
Hotswap adapter tanpa memicu kompilasi ulang model atau jika rank dari adapter yang dimuat berbeda.
fuse_lora
< source >( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
Parameter
- components — (
list[str]): daftar komponen yang dapat disuntikkan LoRA untuk memfusi LoRA ke dalamnya. - lora_scale (
float, default 1.0) — Mengontrol seberapa besar pengaruh parameter LoRA terhadap output. - safe_fusing (
bool, defaultnyaFalse) — Apakah akan memeriksa nilai NaN pada bobot yang sudah digabungkan sebelum proses penggabungan, dan jika nilainya NaN, maka bobot tersebut tidak akan digabungkan. - adapter_names (
list[str], opsional) — Nama-nama adapter yang akan digunakan untuk fusi. Jika tidak ada yang diteruskan, semua adapter aktif akan difusi.
Menggabungkan parameter LoRA ke dalam parameter asli dari blok yang sesuai.
Contoh:
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)Mendapatkan daftar adapter aktif saat ini.
Mendapatkan daftar saat ini dari semua adapter yang tersedia di pipeline.
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 )
Parameter
- adapter_names (
list[str]ataustr) — Nama-nama adapter yang akan digunakan. - adapter_weights (
float,dictataulist, opsional) — Bobot untuk adapter. Skalar akan menskalakan semua komponen yang kompatibel dengan LoRA. Kamus memetakan nama komponen (mis."unet","transformer"atau"text_encoder") ke bobot; bobot komponen UNet juga bisa berupa kamus bersarang dari skala blok. Skalar atau kamus tunggal diterapkan ke setiap adapter. Daftar harus berisi satu skalar, kamus, atauNoneper adapter, sesuai urutanadapter_names.Nonesecara default menjadi1.0, termasuk entri daftar dan bobot komponen. Komponen yang tidak dinyatakan dan blok UNet juga secara default menjadi1.0.
Atur adapter yang saat ini aktif untuk digunakan dalam pipeline.
Contoh:
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 )
Memindahkan LoRA yang tercantum dalam adapter_names ke perangkat target. Berguna untuk offloading LoRA ke CPU jika Anda ingin memuat beberapa adapter dan membebaskan sebagian memori GPU.
Setelah meng-offload adapter LoRA ke CPU, selama bagian lain dari model masih berada di GPU, adapter LoRA tidak dapat lagi digunakan untuk inferensi, karena hal itu akan menyebabkan ketidakcocokan perangkat. Ingatlah untuk mengatur perangkat kembali ke GPU sebelum menggunakan adapter LoRA tersebut untuk inferensi.
>>> 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 )
Parameter
- components (
list[str]) — daftar komponen yang dapat diinjeksi LoRA untuk melepas LoRA. - unfuse_unet (
bool, defaultnyaTrue) — Apakah akan memisahkan parameter LoRA dari UNet. - unfuse_text_encoder (
bool, defaultnyaTrue) — Apakah akan memisahkan (unfuse) parameter LoRA dari text encoder. Jika text encoder tidak di-patch secara monkey-patch dengan parameter LoRA, maka tidak akan ada efeknya.
Membalikkan efek dari pipe.fuse_lora().
Memuat ulang parameter 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 )
Menulis state dict dari lapisan LoRA (opsional dengan metadata) ke disk.