File size: 1,778 Bytes
9171e4e 0fb8242 4938098 9171e4e c1e9d10 9171e4e 4938098 9171e4e 4938098 9171e4e 4938098 9171e4e 4938098 9d6a6a8 4938098 9d6a6a8 4938098 9d6a6a8 4938098 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import gradio as gr
import torch
from PIL import Image
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
model_id = "stabilityai/stable-diffusion-2-1"
device = "cpu"
# DPM-Solver++ scheduler'ını kullan, torch_dtype belirtme
pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to(device)
def resize(value, img_path):
img = Image.open(img_path)
img = img.resize((value, value))
return img
def infer(source_img, prompt, negative_prompt, guide, steps, seed, Strength):
generator = torch.Generator(device).manual_seed(seed)
source_image = resize(768, source_img)
source_image.save('source.png')
image = pipe(prompt, negative_prompt=negative_prompt, init_image=source_image, strength=Strength, guidance_scale=guide, num_inference_steps=steps, generator=generator).images[0]
return image
gr.Interface(
fn=infer,
inputs=[
gr.Image(type="filepath", label="Raw Image. Must Be .png"), # Güncellenmiş kullanım
gr.Textbox(label='Prompt Input Text. 77 Token (Keyword or Symbol) Maximum'),
gr.Textbox(label='What you Do Not want the AI to generate.'),
gr.Slider(2, 15, value=7, label='Guidance Scale'),
gr.Slider(1, 25, value=10, step=1, label='Number of Iterations'),
gr.Slider(label="Seed", minimum=0, maximum=987654321987654321, step=1, randomize=True),
gr.Slider(label='Strength', minimum=0, maximum=1, step=.05, value=.5)
],
outputs=gr.Image(type="pil"),
title="Stable Diffusion 2.1 Image to Image Pipeline on CPU",
description="For more information on Stable Diffusion 2.1 see https://github.com/Stability-AI/stablediffusion"
).launch() |