Diffusers代码学习: IP-Adapter Inpainting

发布于:2024-06-11 ⋅ 阅读:(56) ⋅ 点赞:(0)

IP-Adapter还可以通过Inpainting自动管道和蒙图方式生成目标图片。

# 以下代码为程序运行进行设置,使用Inpainting 的自动管道,

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"

from diffusers import AutoPipelineForInpainting

# 程序需要能够支持加载图片

from diffusers.utils import load_image
import torch

# 以下代码加载模型,但是用的是Inpainting的自动管道

pipeline = AutoPipelineForInpainting.from_pretrained("diffusers/stable-diffusion-xl-1.0-inpainting-0.1",
torch_dtype=torch.float16).to("cuda")

# 同时加载IP-Adapter模型

pipeline.load_ip_adapter("h94/IP-Adapter", subfolder="sdxl_models", weight_name="ip-adapter_sdxl.bin")

# 设置IP-Adapter影响力

pipeline.set_ip_adapter_scale(0.6)

# 以下代码加载原始图片,参考图片和蒙图

mask_image = load_image(

"ip_adapter_mask.png")
image = load_image(
"ip_adapter_bear_1.png")
ip_image = load_image(
"ip_adapter_gummy.png")
 

generator = torch.Generator(device="cpu").manual_seed(4)

# 以下代码加载并处理提示词,基于原始图片,参考图片和蒙图生成图片

images = pipeline(
prompt="a cute gummy bear waving",
image=image,
mask_image=mask_image,
ip_adapter_image=ip_image,
generator=generator,
num_inference_steps=100,
).images

images[0].show()

原图的效果是这样的

图片

参考图片的效果是这样的

图片

蒙图的效果是这样的

图片

生成的图片的效果是这样的(如果真有这么一个软糖北极熊,真能舍得吃吗?)

图片


网站公告

今日签到

点亮在社区的每一天
去签到