eightban's memo

残しておきたい記事をまとめてみました。このブログに書いてあるドキュメントやブログで配布しているファイルの使用によって発生するいかなる損害に対してもこのブログの管理者は責任を負いません。使用する場合は自己責任のもとに使用してください。

stable-diffusion

Stable Diffusion (Diffusers) / DiffusersでLoRA の読み込みの高速化、LoRA 融合

更新日:

LoRA の読み込みの高速化

ダウンロードしたA1111 形式の CivitAI LoRA チェックポイントをロードできるようになりましたが高速化も対応されました

pipe.load_lora_weights(state_dict, low_cpu_mem_usage=True)

LoRA 融合

LoRA 重みをモデルの重みに融合できるようになったため、LoRA 重みをロードしたモデルは、ロードしていないモデルと同じ速度で実行できるようになりました。また、複数の LoRA を同じモデルに融合することもできます。

Pipe.fuse_lora(lora_scale= 1.0 )

PEFT によるLoRA 融合

!pip install peft
pipe.load_lora_weights("nerijs/pixel-art-xl", weight_name="pixel-art-xl.safetensors", adapter_name="pixel")
pipe.load_lora_weights("CiroN2022/toy-face", weight_name="toy_face_sdxl.safetensors", adapter_name="toy")

pipe.set_adapters(["pixel", "toy"], adapter_weights=[0.5, 1.0])
# Fuses the LoRAs into the Unet
pipe.fuse_lora()

参考

https://github.com/huggingface/diffusers/releases

-stable-diffusion

Copyright© eightban's memo , 2024 All Rights Reserved Powered by STINGER.