🚀 T2I-Adapter-SDXL - Canny
T2I-Adapter是一個為穩定擴散模型提供額外條件控制的網絡。每個T2I檢查點以不同類型的條件作為輸入,並與特定的基礎穩定擴散檢查點配合使用。
本檢查點為StableDiffusionXL檢查點提供Canny邊緣檢測條件控制。這是騰訊ARC實驗室和Hugging Face合作的成果。
🚀 快速開始
要開始使用,首先安裝所需的依賴項:
pip install -U git+https://github.com/huggingface/diffusers.git
pip install -U controlnet_aux==0.0.7
pip install transformers accelerate safetensors
- 首先將圖像下載為合適的控制圖像格式。
- 將控制圖像和提示詞傳遞給
StableDiffusionXLAdapterPipeline
。
下面來看一個使用Canny Adapter的簡單示例:
依賴安裝
from diffusers import StableDiffusionXLAdapterPipeline, T2IAdapter, EulerAncestralDiscreteScheduler, AutoencoderKL
from diffusers.utils import load_image, make_image_grid
from controlnet_aux.canny import CannyDetector
import torch
adapter = T2IAdapter.from_pretrained("TencentARC/t2i-adapter-canny-sdxl-1.0", torch_dtype=torch.float16, varient="fp16").to("cuda")
model_id = 'stabilityai/stable-diffusion-xl-base-1.0'
euler_a = EulerAncestralDiscreteScheduler.from_pretrained(model_id, subfolder="scheduler")
vae=AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16)
pipe = StableDiffusionXLAdapterPipeline.from_pretrained(
model_id, vae=vae, adapter=adapter, scheduler=euler_a, torch_dtype=torch.float16, variant="fp16",
).to("cuda")
pipe.enable_xformers_memory_efficient_attention()
canny_detector = CannyDetector()
條件圖像
url = "https://huggingface.co/Adapter/t2iadapter/resolve/main/figs_SDXLV1.0/org_canny.jpg"
image = load_image(url)
image = canny_detector(image, detect_resolution=384, image_resolution=1024)

圖像生成
prompt = "Mystical fairy in real, magic, 4k picture, high quality"
negative_prompt = "extra digit, fewer digits, cropped, worst quality, low quality, glitch, deformed, mutated, ugly, disfigured"
gen_images = pipe(
prompt=prompt,
negative_prompt=negative_prompt,
image=image,
num_inference_steps=30,
guidance_scale=7.5,
adapter_conditioning_scale=0.8,
adapter_conditioning_factor=1
).images[0]
gen_images.save('out_canny.png')

✨ 主要特性
T2I Adapter網絡能夠為穩定擴散模型提供額外的條件控制,不同的T2I檢查點可以接受不同類型的條件輸入,與特定的基礎穩定擴散檢查點配合,實現更豐富的圖像生成控制。
📚 詳細文檔
模型詳情
屬性 |
詳情 |
開發者 |
T2I-Adapter: Learning Adapters to Dig out More Controllable Ability for Text-to-Image Diffusion Models |
模型類型 |
基於擴散的文本到圖像生成模型 |
語言 |
英文 |
許可證 |
Apache 2.0 |
更多信息資源 |
GitHub倉庫,論文 |
模型複雜度 |
| SD-V1.4/1.5 | SD-XL | T2I-Adapter | T2I-Adapter-SDXL | 參數 | 860M | 2.6B | 77 M | 77/79 M |
|
引用方式 |
@misc{ title={T2I-Adapter: Learning Adapters to Dig out More Controllable Ability for Text-to-Image Diffusion Models}, author={Chong Mou, Xintao Wang, Liangbin Xie, Yanze Wu, Jian Zhang, Zhongang Qi, Ying Shan, Xiaohu Qie}, year={2023}, eprint={2302.08453}, archivePrefix={arXiv}, primaryClass={cs.CV} } |
檢查點
訓練
我們的訓練腳本基於官方提供的訓練腳本構建,可參考此處。
該模型在LAION-Aesthetics V2的300萬高分辨率圖像 - 文本對上進行訓練,具體參數如下:
- 訓練步數:20000
- 批量大小:數據並行,單GPU批量大小為
16
,總批量大小為256
。
- 學習率:恆定學習率
1e-5
。
- 混合精度:fp16
📄 許可證
本項目採用Apache 2.0許可證。