pix2pix

import PIL
from PIL import Image, ImageOps
import torch
from diffusers import StableDiffusionInstructPix2PixPipeline, EulerAncestralDiscreteScheduler
import os

model_id = "timbrooks/instruct-pix2pix"
pipe = StableDiffusionInstructPix2PixPipeline.from_pretrained(
    model_id, 
    torch_dtype=torch.float16, 
    safety_checker=None
)
pipe.to("cuda")
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)

local_image_path = "input.jpg"

def load_local_image(image_path):
    try:
        image = Image.open(image_path)
        image = ImageOps.exif_transpose(image)
        image = image.convert("RGB")
        return image
    except Exception as e:
        print(f"无法加载图片: {e}")
        return None

image = load_local_image(local_image_path)

if image is None:
    raise ValueError("图片加载失败,请检查路径是否正确。")

prompt = "turn him into cyborg"
images = pipe(
    prompt, 
    image=image, 
    num_inference_steps=10, 
    image_guidance_scale=1
).images

current_dir = os.getcwd()
print(f"当前工作目录: {current_dir}")

output_image_path = os.path.join(current_dir, "output_cyborg.png")
images[0].save(output_image_path)
print(f"生成的图片已保存到: {output_image_path}")

images[0].show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值