import os
import sys
from PIL import Image
from torchvision.transforms import Resize, Compose, ToTensor
from diffusers import StableDiffusionPipeline
# 初始化Stable Diffusion模型
pipe = StableDiffusionPipeline.from_pretrained("Stable-diffusion-v1-4")
# 设置Stable Diffusion的图像分辨率
image_resolution = (512, 512)
# 文本提示词
prompt = "一只笑得合不过嘴的猫"
# 图像修复范围(可选)
num_inference_steps = 2400
# 图像生成
pipe.to(device="cuda")
pipe.generate(
prompt=prompt,
num_inference_steps=num_inference_steps,
image_resolution=image_resolution,
output_type="png",
output_dir="./output",
)
# 图像输出路径
output_image_path = os.path.join("./output", f"{prompt.replace(' ', '_')}.png")
# 显示生成的图像
image = Image.open(output_image_path)
image.show()
这段代码首先导入了必要的模块,初始化了Stable Diffusion模型,并设置了图像的分辨率。然后定义了文本提示词,并设置了图像生成的步骤和输出路径。最后调用generate
方法生成图像,并使用PIL
库显示生成的图像。这个例子展示了如何使用Python调用Stable Diffusion API生成图像,并且是一个很好的教学资源。