Manjushri commited on
Commit
f4fd128
1 Parent(s): 6c376fe

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -0
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)