|
import gradio as gr |
|
import pandas as pd |
|
import torch |
|
import numpy as np |
|
from PIL import Image |
|
from diffusers import DiffusionPipeline |
|
from huggingface_hub import login |
|
import gradio as gr |
|
import torch |
|
import numpy as np |
|
from PIL import Image |
|
from datasets import load_dataset |
|
from diffusers import StableDiffusionImg2ImgPipeline |
|
|
|
import torch |
|
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler |
|
|
|
model_id = "stabilityai/stable-diffusion-2-1" |
|
|
|
device = "cpu" |
|
|
|
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float32) |
|
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config) |
|
pipe = pipe.to(device) |
|
|
|
def resize(value,img): |
|
img = Image.open(img) |
|
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).images[0] |
|
return image |
|
|
|
gr.Interface( |
|
fn=infer, |
|
inputs=[ |
|
gr.inputs.Image(type="filepath", label="Raw Image. Must Be .png"), |
|
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='image', |
|
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() |
|
|