如何将一个管道输出的图像分配到另一个管道?

问题描述 投票:0回答:1

我的 Jupyter 笔记本中有这两个管道。

## Loading Diffusion Pipeline
from diffusers import DiffusionPipeline
import torch



##Image Generating


pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float32, use_safetensors=True, variant="fp16")

pipe.unet = torch.compile(pipe.unet, mode="reduce-overhead", fullgraph=True)

# load both base & refiner
base = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float32, variant="fp16", use_safetensors=True
)
pipe.enable_model_cpu_offload 

refiner = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-refiner-1.0",
    text_encoder_2=base.text_encoder_2,
    vae=base.vae,
    torch_dtype=torch.float32,
    use_safetensors=True,
    variant="fp16",
)


# Define how many steps and what % of steps to be run on each experts (80/20) here
n_steps = 40
high_noise_frac = 0.8

prompt = "A man playing soccer in a stadium"

# run both experts
image = base(
    prompt=prompt,
    num_inference_steps=n_steps,
    denoising_end=high_noise_frac,
    output_type="latent",
).images
image = refiner(
    prompt=prompt,
    num_inference_steps=n_steps,
    denoising_start=high_noise_frac,
    image=image,
).images[0].show()

##Image Captioning
from transformers import pipeline

image_to_text = pipeline("image-to-text", model="nlpconnect/vit-gpt2-image-captioning")
image_to_text(image)

第一个是创建具有稳定扩散 xl-base 的图像,而另一个我想获得所创建图像的图像标题。 如何将保存在 RAM 中的生成图像分配给图像字幕管道?

谢谢!

我尝试将“image”变量放入第二个管道,但总是收到错误。

python deep-learning jupyter pipeline
1个回答
0
投票

如果要将生成的图像分配给另一个 DiffusionPipeline 实例,可以创建一个新实例并将生成的图像传递给其 images 属性。 以下是如何将生成的图像分配给另一个 DiffusionPipeline 实例的示例:

from diffusers import DiffusionPipeline

repo_id = "./my-diffusion-pipeline"
new_pipe = DiffusionPipeline.from_pretrained(repo_id, use_safetensors=True)
new_pipe.images = [image]

请注意,新的 DiffusionPipeline 实例必须具有与原始实例相同的组件(模型、调度程序和处理器)。

那么如果要将生成的图像保存到目录中,可以使用PIL Image类的save()方法。

image.save("my_image.png")

这会将生成的图像保存到当前工作目录中名为 my_image.png 的文件中。

© www.soinside.com 2019 - 2024. All rights reserved.