diffusers/tools
1127
1#!/usr/bin/env python32from diffusers import AutoPipelineForInpainting, AutoPipelineForImage2Image, UNet2DConditionModel3from diffusers.utils import load_image4import torch5import hf_image_uploader as hfi6 7torch.backends.cuda.matmul.allow_tf32 = True8torch_device = "cuda" if torch.cuda.is_available() else "cpu"9 10# pipe = AutoPipelineForInpainting.from_pretrained("runwayml/stable-diffusion-inpainting", torch_dtype=torch.float16, variant="fp16", use_safetensors=True) 11unet = UNet2DConditionModel.from_pretrained("valhalla/sdxl-inpaint-ema", torch_dtype=torch.float16)12pipe = AutoPipelineForInpainting.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", unet=unet, torch_dtype=torch.float16, variant="fp16").to("cuda")13 14pipe = pipe.to(torch_device)15 16img_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png"17img_url = "https://huggingface.co/datasets/patrickvonplaten/images_1024_1024/resolve/main/jdn_jacques_de_nuce-1024x1024.jpg"18mask_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png"19 20image = load_image(img_url).resize((1024, 1024))21mask_image = load_image(mask_url).resize((1024, 1024))22 23prompt = "dslr photography of an empty bench, high quality"24generator = torch.Generator(device="cuda").manual_seed(0)25 26image = pipe(27 prompt=prompt,28 image=image,29 mask_image=mask_image,30 guidance_scale=8.0,31 num_inference_steps=20,32 strength=0.90,33 generator=generator,34).images[0]35 36 37image = image.resize((1024, 1024))38hfi.upload(image, "patrickvonplaten/images")39 