Diffusers代码学习: IP-Adapter Inpainting

作者 : admin 本文共1044个字,预计阅读时间需要3分钟 发布时间: 2024-06-10 共3人阅读

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

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

import os
os.environ["HF_ENDPOINT"] = "http://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()

原图的效果是这样的

Diffusers代码学习: IP-Adapter Inpainting插图

参考图片的效果是这样的

Diffusers代码学习: IP-Adapter Inpainting插图(1)

蒙图的效果是这样的

Diffusers代码学习: IP-Adapter Inpainting插图(2)

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

Diffusers代码学习: IP-Adapter Inpainting插图(3)

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