本文主要是介绍Diffusers代码学习: 多个Adapter,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
T2I Adapter也是可组合的,允许您使用多个适配器对图像施加多个控制条件。例如,可以使用姿势贴图提供结构控制,使用深度贴图进行深度控制。这是由[MultiAdapter]类启用的。
让我们用姿势和深度适配器来调节文本到图像的模型。创建深度和姿势图像并将其放置在列表中。
# 以下代码为程序运行进行设置
import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
# 程序需要能够支持加载图片
from diffusers.utils import load_image
# 以下代码加载姿态图片和深度图片
pose_image = load_image(
"https://hf-mirror.com/datasets/diffusers/docs-images/resolve/main/t2i-adapter/keypose_sample_input.png"
)
depth_image = load_image(
"https://hf-mirror.com/datasets/diffusers/docs-images/resolve/main/t2i-adapter/depth_sample_input.png"
)
cond = [pose_image, depth_image]
prompt = ["Santa Claus walking into an office room with a beautiful city view"]
# 以下代码加载StableDiffusionAdapter自动管道,及MultiAdapter
import torch from diffusers import StableDiffusionAdapterPipeline, MultiAdapter, T2IAdapteradapters = MultiAdapter([T2IAdapter.from_pretrained("TencentARC/t2iadapter_keypose_sd14v1"),T2IAdapter.from_pretrained("TencentARC/t2iadapter_depth_sd14v1"),] ) adapters = adapters.to(torch.float16)
# 以下代码加载并处理提示词,基于MultiAdapter生成图片
pipeline = StableDiffusionAdapterPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4",
torch_dtype=torch.float16,
adapter=adapters,
).to("cuda")
image = pipeline(prompt, cond, adapter_conditioning_scale=[0.7, 0.7]).images[0]
image.show()
以下是姿态图片
以下是深度图片
以下是根据提示词,及MultiAdapter生成的图片
这篇关于Diffusers代码学习: 多个Adapter的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!