在 ChatGPT 出圈不久,ControlNet 的橫空出世很快在英文和中文互聯(lián)網(wǎng)收獲了眾多開發(fā)者和普通用戶,甚至有用戶宣傳 ControlNet 的出現(xiàn)將 AI 創(chuàng)作帶入了直立行走的時(shí)代。不夸張地說,包括 ControlNet 在內(nèi),同期的 T2I-Adapter、Composer, 以及 LoRA 訓(xùn)練技巧,可控生成作為 AI 創(chuàng)作最后一道高墻,極有可能在可預(yù)見的時(shí)間內(nèi)有進(jìn)一步突破,從而極大地降低用戶的創(chuàng)作成本,提高創(chuàng)作的可玩性。距離 ControlNet 開源僅僅過去兩周,其官方 Star 就已經(jīng)超過 1 萬,這種熱度無疑是空前的。 與此同時(shí),開源社區(qū)也極大地降低了用戶的使用門檻,如 Hugging Face 平臺(tái)提供了基礎(chǔ)模型權(quán)重以及通用的模型訓(xùn)練框架 diffusers,stable-diffusion-webui 開發(fā)了完善的一套 Demo 平臺(tái),Civitai 貢獻(xiàn)了海量風(fēng)格化 LoRA 權(quán)重。本文從實(shí)際存在的問題出發(fā),對(duì)代碼框架不兼容、模型加載受限等問題率先提出了自研解決方案,快速幫助開發(fā)者更容易地開發(fā)。
python ./scripts/convert_original_stable_diffusion_to_diffusers.py --checkpoint_path xxx.safetensors --dump_path save_dir --from_safetensors
如果 full model 是 ckpt 格式,可以通過以下 diffusers 腳本轉(zhuǎn)換
python ./scripts/convert_original_stable_diffusion_to_diffusers.py --checkpoint_path xxx.ckpt --dump_path save_dir
轉(zhuǎn)換完成后,可直接利用 diffusers 的 API 進(jìn)行模型加載
from diffusers import StableDiffusionPipeline
pipeline = StableDiffusionPipeline.from_pretrained (save_dir,torch_dtype=torch.float32)
(2)LoRA only (僅包含 LoRA 模塊)
目前 diffusers 官方無法支持僅加載 LoRA 權(quán)重,而開源平臺(tái)上的 LoRA 權(quán)重基本以這種形式存儲(chǔ)。本質(zhì)上是完成 LoRA 權(quán)重中 key-value 的重新映射,使其適配到 diffusers 模型中。為此,我們自行支持這個(gè)功能,提供了轉(zhuǎn)換腳本。
pipeline = StableDiffusionPipeline.from_pretrained (model_id,torch_dtype=torch.float32)
model_path = "onePieceWanoSagaStyle_v2Offset.safetensors"
state_dict = load_file (model_path)
只需要指定 diffusers 格式的模型,以及存儲(chǔ)為 safetensors 格式的 LoRA 權(quán)重。我們提供了一個(gè)轉(zhuǎn)換示例。
# the default mergering ratio is 0.75, you can manually set it
python convert_lora_safetensor_to_diffusers.py
此外,LoRA 本身由于其輕量化,可以在小數(shù)據(jù)情況下快速完成訓(xùn)練,并能夠嵌入到其他網(wǎng)絡(luò)中。為了不局限于已有 LoRA 權(quán)重,我們?cè)?diffusers 框架中支持了 LoRA 的多模塊(UNet+text encoder)訓(xùn)練,并已經(jīng)在官方代碼庫提交 PR(https://github.com/huggingface/diffusers/pull/2479),并支持了 ColossalAI 中訓(xùn)練 LoRA。
代碼開源在:https://github.com/haofanwang/Lora-for-Diffusers
ControlNet for diffusers
審核編輯 :李倩
-
框架
+關(guān)注
關(guān)注
0文章
404瀏覽量
17892 -
AI
+關(guān)注
關(guān)注
88文章
35136瀏覽量
279728 -
ChatGPT
+關(guān)注
關(guān)注
29文章
1589瀏覽量
9099
原文標(biāo)題:適配Diffusers框架的全套教程來了!從T2I-Adapter到大熱ControlNet
文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
DIY 12通道遙控器全套資料
python開發(fā)框架介紹
OpenHarmony HDF平臺(tái)驅(qū)動(dòng)框架及驅(qū)動(dòng)適配介紹

OpenHarmony多芯片適配框架產(chǎn)生的背景

評(píng)論