在 ChatGPT 出圈不久,ControlNet 的橫空出世很快在英文和中文互聯網收獲了眾多開發者和普通用戶,甚至有用戶宣傳 ControlNet 的出現將 AI 創作帶入了直立行走的時代。不夸張地說,包括 ControlNet 在內,同期的 T2I-Adapter、Composer, 以及 LoRA 訓練技巧,可控生成作為 AI 創作最后一道高墻,極有可能在可預見的時間內有進一步突破,從而極大地降低用戶的創作成本,提高創作的可玩性。距離 ControlNet 開源僅僅過去兩周,其官方 Star 就已經超過 1 萬,這種熱度無疑是空前的。 與此同時,開源社區也極大地降低了用戶的使用門檻,如 Hugging Face 平臺提供了基礎模型權重以及通用的模型訓練框架 diffusers,stable-diffusion-webui 開發了完善的一套 Demo 平臺,Civitai 貢獻了海量風格化 LoRA 權重。本文從實際存在的問題出發,對代碼框架不兼容、模型加載受限等問題率先提出了自研解決方案,快速幫助開發者更容易地開發。
python ./scripts/convert_original_stable_diffusion_to_diffusers.py --checkpoint_path xxx.safetensors --dump_path save_dir --from_safetensors
如果 full model 是 ckpt 格式,可以通過以下 diffusers 腳本轉換
python ./scripts/convert_original_stable_diffusion_to_diffusers.py --checkpoint_path xxx.ckpt --dump_path save_dir
轉換完成后,可直接利用 diffusers 的 API 進行模型加載
from diffusers import StableDiffusionPipeline
pipeline = StableDiffusionPipeline.from_pretrained (save_dir,torch_dtype=torch.float32)
(2)LoRA only (僅包含 LoRA 模塊)
目前 diffusers 官方無法支持僅加載 LoRA 權重,而開源平臺上的 LoRA 權重基本以這種形式存儲。本質上是完成 LoRA 權重中 key-value 的重新映射,使其適配到 diffusers 模型中。為此,我們自行支持這個功能,提供了轉換腳本。
pipeline = StableDiffusionPipeline.from_pretrained (model_id,torch_dtype=torch.float32)
model_path = "onePieceWanoSagaStyle_v2Offset.safetensors"
state_dict = load_file (model_path)
只需要指定 diffusers 格式的模型,以及存儲為 safetensors 格式的 LoRA 權重。我們提供了一個轉換示例。
# the default mergering ratio is 0.75, you can manually set it
python convert_lora_safetensor_to_diffusers.py
此外,LoRA 本身由于其輕量化,可以在小數據情況下快速完成訓練,并能夠嵌入到其他網絡中。為了不局限于已有 LoRA 權重,我們在 diffusers 框架中支持了 LoRA 的多模塊(UNet+text encoder)訓練,并已經在官方代碼庫提交 PR(https://github.com/huggingface/diffusers/pull/2479),并支持了 ColossalAI 中訓練 LoRA。
代碼開源在:https://github.com/haofanwang/Lora-for-Diffusers
ControlNet for diffusers
審核編輯 :李倩
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
框架
+關注
關注
0文章
403瀏覽量
17543 -
AI
+關注
關注
87文章
31513瀏覽量
270330 -
ChatGPT
+關注
關注
29文章
1568瀏覽量
8058
原文標題:適配Diffusers框架的全套教程來了!從T2I-Adapter到大熱ControlNet
文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
開關電源全套測試指南(35項測試項目+變壓器計算方法)
本文檔的主要內容詳細介紹的是開關電源的全套測試資料與詳細方法資料包括35項測試項目,給正在開發充電器,適配器的朋友一份大禮!
發表于 10-31 15:54
python開發框架介紹
一、Web框架 1.Django: 開源web開發框架,它鼓勵快速開發,并遵循MVC設計,比較龐大,開發周期短。Django的文檔最完善、市場占有率最高、招聘職位最多。全套的解決方案,Django象
發表于 11-15 20:26
?2081次閱讀
OpenHarmony HDF平臺驅動框架及驅動適配介紹
是OpenHarmony系統驅動框架的重要組成部分,它基于HDF驅動框架、操作系統適配層(OSAL, operating system abstraction layer)以及驅動配置管理機制,為各類平臺設備驅動的實現提供標準
![OpenHarmony HDF平臺驅動<b class='flag-5'>框架</b>及驅動<b class='flag-5'>適配</b>介紹](https://file.elecfans.com/web2/M00/15/CC/pYYBAGFNRAqALF-ZAAArnj2C10s288.png)
OpenHarmony多芯片適配框架產生的背景
辦公、HMS Core 等熱門話題,與華為專家、行業大咖、全球開發者一起探討全場景智慧體驗的未來。 OpenHarmony多芯片適配框架產生的背景: 設備驅動軟件解決的是:操作系統和硬件設備間的交互 ? 直播間:http://t.elecfans.com/live/170
![OpenHarmony多芯片<b class='flag-5'>適配</b><b class='flag-5'>框架</b>產生的背景](https://file.elecfans.com/web2/M00/19/27/pYYBAGFznX6AdTwtAAM_ul2iMqk427.png)
基于openharmony適配移植的ohos原生UI框架
項目介紹 項目名稱:XUI 所屬系列:openharmony的第三方組件適配移植 功能:一個簡潔而又優雅的ohos原生UI框架,解放你的雙手! 項目移植狀態:主功能完成 調用差異:無 開發版本
發表于 04-07 09:04
?1次下載
基于openharmony適配移植支持無縫換膚的MultipleTheme框架
項目介紹 項目名稱:MultipleTheme 所屬系列:openharmony的第三方組件適配移植 功能:支持無縫換膚的框架,配合theme和換膚控件框架可以做到無縫切換換膚 項目移植狀態:主功能
發表于 04-07 09:14
?2次下載
基于openharmony適配移植的全功能Conductor框架
項目介紹 項目名稱:Conductor 所屬系列:openharmony的第三方組件適配移植 功能:基于component (而非Fraction) 的HAP框架! 項目移植狀態:主功能完成 調用
發表于 04-07 10:48
?1次下載
基于openharmony適配移植的手勢檢測器框架
項目介紹 項目名稱:手勢檢測器框架 所屬系列:openharmony的第三方組件適配移植 功能:實現各種手勢檢測功能 項目移植狀態:主功能完成 調用差異:無 開發版本:sdk6,DevEco
發表于 04-08 09:17
?2次下載
評論