搜尋
首頁科技週邊人工智慧適配Diffusers框架的全套教學來了!從T2I-Adapter到大熱ControlNet

在ChatGPT 出圈不久,ControlNet 的橫空出世很快在英文和中文互聯網收穫了眾多開發者和普通用戶,甚至有用戶宣傳ControlNet 的出現將AI 創作帶入了直立行走的時代。不誇張地說,包括ControlNet 在內,同期的T2I-Adapter、Composer, 以及LoRA 訓練技巧,可控生成作為AI 創作最後一道高牆,極有可能在可預見的時間內有進一步突破,從而極大降低用戶的創作成本,提高創作的可玩性。距離 ControlNet 開源僅過去兩週,其官方 Star 就已經超過 1 萬,這種熱度無疑是空前的。

同時,開源社群也大幅降低了使用者的使用門檻,如Hugging Face 平台提供了基礎模型權重以及通用的模型訓練框架diffusers,stable-diffusion-webui開發了完善的一套Demo 平台,Civitai 貢獻了海量風格化LoRA 權重。

適配Diffusers框架的全套教學來了!從T2I-Adapter到大熱ControlNet

適配Diffusers框架的全套教學來了!從T2I-Adapter到大熱ControlNet

#儘管webui 作為目前最受歡迎的視覺化工具,已經快速地支援了近期推出的各種生成模型,並且支援眾多選項供用戶設定。由於其重點考慮了前端介面的易用性,背後程式碼結構其實十分複雜,對於開發者而言不夠友善。例如 webui 儘管支援了多種類型的載入和推理,但卻無法支援不同框架下的轉換,也無法支援模型的靈活訓練。我們在社群討論中發現了許多現有開源程式碼暫未解決的痛點。

首先,程式碼框架不相容,目前熱門的模型,如ControlNet、T2I-Adapter,與主流的Stable Diffusion 訓練庫diffusers 不相容,ControlNet 預先訓練的模型無法直接在diffusers 框架中被使用。

其次,模型載入受限,目前模型保存格式多樣,如.bin、.ckpt、.pth、.satetensors 等,除了webui 外,目前diffusers 框架對於這些模型格式的支援還有限,考慮到LoRA 大部分模型以safetensors 保存為主,用戶很難直接將LoRA 的模型加載到已有的基於diffusers 框架訓練的模型中。

第三,基礎模型受限,目前ControlNet、T2I-Adapter 皆基於Stable-Diffusion-1.5 進行訓練,且僅開源了SD1.5 下的模型權重,考慮到特定場景,已經存在諸如anything-v4、ChilloutMix 等優質動漫模型,即使引入了可控信息,最終生成結果仍然受限於SD1.5 中UNet 的能力。

最後,模型訓練受限,目前LoRA 已經被廣泛驗證是風格遷移、保持特定形象IP 最有效的方法之一,但diffusers 框架目前僅支援UNet 的LoRA 嵌入,無法支援text encoder 的嵌入,會限制LoRA 的訓練。

我們和開源社群討論後,了解到diffusers 框架作為通用程式碼庫,正計劃同時適配近期不斷推出的生成模型;由於涉及較多底層介面重寫,仍然需要一段時間更新。為此,我們從以上實際存在的問題出發,率先提出了每個問題的自研解決方案,快速幫助開發者更容易開發。

LoRA、ControlNet、T2I-Adapter 到diffusers 的全適配方案

LoRA for diffusers

#本方案是為了在diffusers 框架,即基於diffusers 訓練保存的模型中,靈活嵌入各種格式的LoRA 權重。由於 LoRA 的訓練通常會凍結 base model,因此可以輕鬆地作為可插拔模組嵌入已有模型,作為風格或 IP 條件約束。 LoRA 本身是一種通用的訓練技巧,它的基本原理是,透過低秩分解,可以大幅減少模組的參數量,目前在影像生成中,一般用於訓練獨立於base model 以外的可插拔模組,實際使用是以殘差形式與base model 的輸出合併。

首先是 LoRA 權重的嵌入,目前 Civitai 平台上提供的權重主要以 ckpt 或 safetensors 格式存儲,分以下兩種情況。

(1)Full model(base model LoRA 模組)

如果full model 是safetensors 格式,可以透過以下diffusers 腳本轉換

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

適配Diffusers框架的全套教學來了!從T2I-Adapter到大熱ControlNet

#本方案是為了支援在diffusers 框架中,使用ControlNet。基於開源社群的部分嘗試,我們提供了完整的 ControlNet Anything-V3 使用用例,支援將 base model 從原本 SD1.5 的替換到 anything-v3 模型,使 ControlNet 具備較好動漫生成的能力。

此外,我們也支援ControlNet Inpainting,並提供了適配diffusers 的pipeline,

適配Diffusers框架的全套教學來了!從T2I-Adapter到大熱ControlNet

適配Diffusers框架的全套教學來了!從T2I-Adapter到大熱ControlNet

以及多條件控制的Multi-ControlNet。

適配Diffusers框架的全套教學來了!從T2I-Adapter到大熱ControlNet

程式碼開源在:https://github.com/haofanwang/ControlNet-for-Diffusers

T2I-Adapter for diffusers

適配Diffusers框架的全套教學來了!從T2I-Adapter到大熱ControlNet

與ControlNet 相似,我們也同時支援了同期開源的T2I-Adapter 到diffusers 的適配。

程式碼開源在:https://github.com/haofanwang/T2I-Adapter-for-Diffusers

目前以上三種適配方案都已經向社群開源,並在 ControlNet、T2I-Adapter 中被官方分別致謝,也收到了來自 stable-diffusion-webui-colab 作者的感謝。我們正在與 diffusers 官方保持討論,並會在近期完成以上方案向官方程式碼庫的整合工作。也歡迎大家提前嘗試我們的工作,有任何問題可以直接提 issue,我們會盡快回覆。

以上是適配Diffusers框架的全套教學來了!從T2I-Adapter到大熱ControlNet的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
在LLMS中調用工具在LLMS中調用工具Apr 14, 2025 am 11:28 AM

大型語言模型(LLMS)的流行激增,工具稱呼功能極大地擴展了其功能,而不是簡單的文本生成。 現在,LLM可以處理複雜的自動化任務,例如Dynamic UI創建和自主a

多動症遊戲,健康工具和AI聊天機器人如何改變全球健康多動症遊戲,健康工具和AI聊天機器人如何改變全球健康Apr 14, 2025 am 11:27 AM

視頻遊戲可以緩解焦慮,建立焦點或支持多動症的孩子嗎? 隨著醫療保健在全球範圍內挑戰,尤其是在青年中的挑戰,創新者正在轉向一種不太可能的工具:視頻遊戲。現在是世界上最大的娛樂印度河之一

沒有關於AI的投入:獲勝者,失敗者和機遇沒有關於AI的投入:獲勝者,失敗者和機遇Apr 14, 2025 am 11:25 AM

“歷史表明,儘管技術進步推動了經濟增長,但它並不能自行確保公平的收入分配或促進包容性人類發展,”烏托德秘書長Rebeca Grynspan在序言中寫道。

通過生成AI學習談判技巧通過生成AI學習談判技巧Apr 14, 2025 am 11:23 AM

易於使用,使用生成的AI作為您的談判導師和陪練夥伴。 讓我們來談談。 對創新AI突破的這種分析是我正在進行的《福布斯》列的最新覆蓋範圍的一部分,包括識別和解釋

泰德(Ted)從Openai,Google,Meta透露出庭,與我自己自拍泰德(Ted)從Openai,Google,Meta透露出庭,與我自己自拍Apr 14, 2025 am 11:22 AM

在溫哥華舉行的TED2025會議昨天在4月11日舉行了第36版。它的特色是來自60多個國家 /地區的80個發言人,包括Sam Altman,Eric Sc​​hmidt和Palmer Luckey。泰德(Ted)的主題“人類重新構想”是量身定制的

約瑟夫·斯蒂格利茲(Joseph Stiglitz約瑟夫·斯蒂格利茲(Joseph StiglitzApr 14, 2025 am 11:21 AM

約瑟夫·斯蒂格利茨(Joseph Stiglitz)是2001年著名的經濟學家,是諾貝爾經濟獎的獲得者。斯蒂格利茨認為,AI可能會使現有的不平等和合併權力惡化,並在一些主導公司手中加劇,最終破壞了經濟上的經濟。

什麼是圖形數據庫?什麼是圖形數據庫?Apr 14, 2025 am 11:19 AM

圖數據庫:通過關係徹底改變數據管理 隨著數據的擴展及其特徵在各個字段中的發展,圖形數據庫正在作為管理互連數據的變革解決方案的出現。與傳統不同

LLM路由:策略,技術和Python實施LLM路由:策略,技術和Python實施Apr 14, 2025 am 11:14 AM

大型語言模型(LLM)路由:通過智​​能任務分配優化性能 LLM的快速發展的景觀呈現出各種各樣的模型,每個模型都具有獨特的優勢和劣勢。 有些在創意內容gen上表現出色

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具