Diffusers代码学习: 多个Adapter

作者 : admin 本文共1244个字,预计阅读时间需要4分钟 发布时间: 2024-06-9 共1人阅读

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, T2IAdapter

adapters = 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()

以下是姿态图片

Diffusers代码学习: 多个Adapter插图

以下是深度图片

Diffusers代码学习: 多个Adapter插图(1)

以下是根据提示词,及MultiAdapter生成的图片

Diffusers代码学习: 多个Adapter插图(2)

本站无任何商业行为
个人在线分享 » Diffusers代码学习: 多个Adapter
E-->