Buckets:
UNet
Beberapa metode pelatihan - seperti LoRA dan Custom Diffusion - biasanya menargetkan lapisan perhatian UNet, tetapi metode pelatihan ini juga dapat menargetkan lapisan non-perhatian lainnya. Alih-alih melatih semua parameter model, hanya sebagian kecil parameter yang dilatih, yang lebih cepat dan efisien. Kelas ini berguna jika Anda hanya memuat bobot ke dalam UNet. Jika Anda perlu memuat bobot ke dalam text encoder atau text encoder dan UNet, cobalah menggunakan fungsi load_lora_weights() sebagai gantinya.
Kelas UNet2DConditionLoadersMixin menyediakan fungsi untuk memuat dan menyimpan bobot, menggabungkan dan memisahkan LoRA, menonaktifkan dan mengaktifkan LoRA, serta mengatur dan menghapus adapter.
Untuk mempelajari lebih lanjut tentang cara memuat bobot LoRA, lihat panduan LoRA.
UNet2DConditionLoadersMixin[[diffusers.loaders.UNet2DConditionLoadersMixin]]
diffusers.loaders.UNet2DConditionLoadersMixin[[diffusers.loaders.UNet2DConditionLoadersMixin]]
diffusers.loaders.UNet2DConditionLoadersMixin()
Muat lapisan LoRA ke dalam UNet2DCondtionModel.
load_attn_procs[[diffusers.loaders.UNet2DConditionLoadersMixin.load_attn_procs]]
load_attn_procs(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], **kwargs)
Parameter:
pretrained_model_name_or_path_or_dict (str atau os.PathLike atau dict) : Dapat berupa salah satu dari: - String, id model (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.
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, defaultnya False) : Apakah akan memaksa (mengunduh ulang) bobot model dan file konfigurasi, menimpa versi yang di-cache jika ada.
proxies (dict[str, str], opsional) : Kamus server proxy yang akan 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, defaultnya False) : Apakah hanya memuat bobot model dan file konfigurasi lokal atau tidak. Jika diatur ke True, model tidak akan diunduh dari Hub.
token (str atau bool, opsional) : Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. Jika True, token yang dihasilkan dari diffusers-cli login (disimpan di ~/.huggingface) akan digunakan.
revision (str, opsional, defaultnya "main") : Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, id commit, atau identifikasi apa pun yang diizinkan oleh Git.
subfolder (str, opsional, defaultnya "") : 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.
Muat lapisan attention processor Custom Diffusion yang telah dilatih sebelumnya ke dalam UNet2DConditionModel. Lapisan attention processor harus didefinisikan di attention_processor.py dan berupa kelas torch.nn.Module. Untuk memuat lapisan LoRA, gunakan load_lora_adapter() sebagai gantinya.
Contoh:
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4",
torch_dtype=torch.float16,
).to("cuda")
pipeline.unet.load_attn_procs("path-to-save-model", weight_name="pytorch_custom_diffusion_weights.bin")
save_attn_procs[[diffusers.loaders.UNet2DConditionLoadersMixin.save_attn_procs]]
save_attn_procs(save_directory: str | os.PathLike, is_main_process: bool = True, weight_name: str = None, save_function: typing.Callable = None, safe_serialization: bool = True, **kwargs)
Parameter:
save_directory (str atau os.PathLike) : Direktori untuk menyimpan attention processor (akan dibuat jika belum ada).
is_main_process (bool, opsional, defaultnya True) : 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, atur is_main_process=True hanya pada proses utama untuk menghindari kondisi balapan.
save_function (Callable) : Fungsi yang digunakan untuk menyimpan state dictionary. Berguna selama pelatihan terdistribusi ketika Anda perlu mengganti torch.save dengan metode lain. Dapat dikonfigurasi dengan variabel lingkungan DIFFUSERS_SAVE_MODE.
safe_serialization (bool, opsional, defaultnya True) : Apakah model disimpan menggunakan safetensors atau dengan pickle.
Simpan lapisan attention processor Custom Diffusion ke sebuah direktori agar dapat dimuat ulang dengan metode load_attn_procs(). Untuk menyimpan lapisan LoRA, gunakan save_lora_adapter() sebagai gantinya.
Contoh:
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4",
torch_dtype=torch.float16,
).to("cuda")
pipeline.unet.load_attn_procs("path-to-save-model", weight_name="pytorch_custom_diffusion_weights.bin")
pipeline.unet.save_attn_procs("path-to-save-model", weight_name="pytorch_custom_diffusion_weights.bin")
Xet Storage Details
- Size:
- 6.55 kB
- Xet hash:
- 7d9f0ec7b1b15b2c86754f2a715551a85dd6b47e2dfb1f053ee77da31a93ed60
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.