Spaces:
Runtime error
Runtime error
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import torch
|
3 |
+
import numpy as np
|
4 |
+
from PIL import Image
|
5 |
+
from datasets import load_dataset
|
6 |
+
from diffusers import StableDiffusionImg2ImgPipeline
|
7 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
8 |
+
pipe = StableDiffusionImg2ImgPipeline.from_pretrained("stabilityai/stable-diffusion-2", torch_dtype=torch.float16, revision="fp16") if torch.cuda.is_available() else StableDiffusionImg2ImgPipeline.from_pretrained("stabilityai/stable-diffusion-2")
|
9 |
+
pipe = pipe.to(device)
|
10 |
+
|
11 |
+
def resize(value,img):
|
12 |
+
img = Image.open(img)
|
13 |
+
img = img.resize((value,value))
|
14 |
+
return img
|
15 |
+
|
16 |
+
def infer(source_img, prompt, guide, steps, seed, Strength):
|
17 |
+
generator = torch.Generator(device).manual_seed(seed)
|
18 |
+
source_image = resize(768, source_img)
|
19 |
+
source_image.save('source.png')
|
20 |
+
image = pipe([prompt], init_image=source_image, strength=Strength, guidance_scale=guide, num_inference_steps=steps).images[0]
|
21 |
+
return image
|
22 |
+
|
23 |
+
|
24 |
+
gr.Interface(fn=infer, inputs=[gr.Image(source="upload", type="filepath", label="Raw Image"), gr.Textbox(label = 'Prompt Input Text'),
|
25 |
+
gr.Slider(2, 15, value = 7, label = 'Guidence Scale'),
|
26 |
+
gr.Slider(10, 50, value = 25, step = 1, label = 'Number of Iterations'),
|
27 |
+
gr.Slider(
|
28 |
+
label = "Seed",
|
29 |
+
minimum = 0,
|
30 |
+
maximum = 2147483647,
|
31 |
+
step = 1,
|
32 |
+
randomize = True), gr.Slider(label='Strength', minimum = 0, maximum = 1, step = .05, value = .5)
|
33 |
+
], outputs='image', title = "Stable Diffusion 2.0 Image to Image Pipeline CPU see https://github.com/CompVis/stable-diffusion", description = "Upload an Image (must be .PNG and 512x512-2048x2048) enter a Prompt, or let it just do its Thing, then click submit. 10 Iterations takes about 300 seconds currently. For more informationon about Stable Diffusion or Suggestions for prompts, keywords, artists or styles see https://github.com/Maks-s/sd-akashic", article = "Code Monkey: <a href=\"https://huggingface.co/Manjushri\">Manjushri</a>").queue(max_size=10).launch(debug=True)
|