许可协议:apache-2.0
基础模型:stabilityai/stable-diffusion-xl-base-1.0
标签:
- 艺术
- t2i适配器
- 图像到图像
- stable-diffusion-xl-diffusers
- stable-diffusion-xl
T2I-Adapter-SDXL - 深度-MiDaS
T2I适配器是一种为稳定扩散提供额外条件控制的网络。每个t2i检查点接收不同类型条件输入,并与特定的基础稳定扩散检查点配合使用。
本检查点为StableDiffusionXL检查点提供深度条件控制。这是腾讯ARC与Hugging Face的合作成果。
模型详情
-
开发者: T2I-Adapter: 学习适配器以挖掘文本到图像扩散模型的更多可控能力
-
模型类型: 基于扩散的文本到图像生成模型
-
支持语言: 英语
-
许可协议: 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: 学习适配器以挖掘文本到图像扩散模型的更多可控能力},
author={牟冲, 王新涛, 谢良彬, 吴彦泽, 张健, 齐中阳, 单瀛, 邱晓虎},
year={2023},
eprint={2302.08453},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
检查点
示例
首先安装必要的依赖项:
pip install -U git+https://github.com/huggingface/diffusers.git
pip install -U controlnet_aux==0.0.7
pip install transformers accelerate safetensors
- 图像首先被下载并转换为适当的控制图像格式。
- 控制图像和提示词被传递给
StableDiffusionXLAdapterPipeline
。
让我们看一个使用线稿适配器的简单示例。
from diffusers import StableDiffusionXLAdapterPipeline, T2IAdapter, EulerAncestralDiscreteScheduler, AutoencoderKL
from diffusers.utils import load_image, make_image_grid
from controlnet_aux.midas import MidasDetector
import torch
adapter = T2IAdapter.from_pretrained(
"TencentARC/t2i-adapter-depth-midas-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()
midas_depth = MidasDetector.from_pretrained(
"valhalla/t2iadapter-aux-models", filename="dpt_large_384.pt", model_type="dpt_large"
).to("cuda")
url = "https://huggingface.co/Adapter/t2iadapter/resolve/main/figs_SDXLV1.0/org_mid.jpg"
image = load_image(url)
image = midas_depth(
image, detect_resolution=512, image_resolution=1024
)

prompt = "房间照片,4K高清,细节丰富"
negative_prompt = "动漫,卡通,图形,文字,绘画,蜡笔,石墨,抽象,故障,变形,突变,丑陋,畸形"
gen_images = pipe(
prompt=prompt,
negative_prompt=negative_prompt,
image=image,
num_inference_steps=30,
adapter_conditioning_scale=1,
guidance_scale=7.5,
).images[0]
gen_images.save('out_mid.png')

训练
我们的训练脚本基于官方提供的训练脚本构建。
模型在LAION-Aesthetics V2的300万张高分辨率图像-文本对上进行训练,参数如下:
- 训练步数:35000
- 批量大小:数据并行,单GPU批量大小为
16
,总批量大小为256
。
- 学习率:恒定学习率
1e-5
。
- 混合精度:fp16