gaur3009 commited on
Commit
42cdd46
·
verified ·
1 Parent(s): a317b2d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -21
app.py CHANGED
@@ -1,34 +1,42 @@
1
  import gradio as gr
2
- import modin.pandas as pd
3
  import torch
4
- import numpy as np
5
  from PIL import Image
6
  from diffusers import ShapEImg2ImgPipeline
7
- from diffusers.utils import load_image
8
- import math
9
 
 
10
  device = "cuda" if torch.cuda.is_available() else "cpu"
11
- pipe = ShapEImg2ImgPipeline.from_pretrained("openai/shap-e-img2img", torch_dtype=torch.float16) if torch.cuda.is_available() else ShapEImg2ImgPipeline.from_pretrained("openai/shap-e-img2img")
 
 
12
  pipe = pipe.to(device)
13
 
14
- def resize(value,img):
15
- img = Image.open(img)
16
- img = img.resize((value,value))
 
17
  return img
18
 
19
- def infer(source_img, prompt, steps, seed, Strength):
20
- generator = torch.Generator(device).manual_seed(seed)
21
- if int(steps * Strength) < 1:
22
- steps = math.ceil(1 / max(0.10, Strength))
 
23
  source_image = resize(512, source_img)
24
  source_image.save('source.png')
25
- image = pipe(prompt, image=source_image, strength=Strength, guidance_scale=0.0, num_inference_steps=steps).images[0]
26
- return image
27
 
28
- gr.Interface(fn=infer, inputs=[
29
- gr.Image(sources=["upload", "webcam", "clipboard"], type="filepath", label="Raw Image."),
30
- gr.Textbox(label = 'Creative Touch(prompt)'),
31
- gr.Slider(1, 5, value = 2, step = 1, label = 'Number of Iterations'),
32
- gr.Slider(label = "Seed", minimum = 0, maximum = 987654321987654321, step = 1, randomize = True),
33
- gr.Slider(label='Strength', minimum = 0.1, maximum = 1, step = .05, value = .5)],
34
- outputs='image', title = "Creative Touch").queue(max_size=10).launch()
 
 
 
 
 
 
 
1
  import gradio as gr
 
2
  import torch
3
+ import math
4
  from PIL import Image
5
  from diffusers import ShapEImg2ImgPipeline
 
 
6
 
7
+ # Set device
8
  device = "cuda" if torch.cuda.is_available() else "cpu"
9
+
10
+ # Load the pipeline
11
+ pipe = ShapEImg2ImgPipeline.from_pretrained("openai/shap-e-img2img", torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32)
12
  pipe = pipe.to(device)
13
 
14
+ # Resize function
15
+ def resize(value, img_path):
16
+ img = Image.open(img_path)
17
+ img = img.resize((value, value))
18
  return img
19
 
20
+ # Inference function
21
+ def infer(source_img, prompt, steps, seed, strength):
22
+ generator = torch.Generator(device).manual_seed(seed)
23
+ if int(steps * strength) < 1:
24
+ steps = math.ceil(1 / max(0.10, strength))
25
  source_image = resize(512, source_img)
26
  source_image.save('source.png')
27
+ result = pipe(prompt=prompt, image=source_image, strength=strength, guidance_scale=7.5, num_inference_steps=steps, generator=generator)
28
+ return result.images[0]
29
 
30
+ # Gradio interface
31
+ gr.Interface(
32
+ fn=infer,
33
+ inputs=[
34
+ gr.Image(sources=["upload", "webcam", "clipboard"], type="filepath", label="Raw Image"),
35
+ gr.Textbox(label='Creative Touch (prompt)'),
36
+ gr.Slider(1, 50, value=25, step=1, label='Number of Iterations'),
37
+ gr.Slider(minimum=0, maximum=987654321987654321, step=1, randomize=True, label='Seed'),
38
+ gr.Slider(minimum=0.1, maximum=1, step=0.05, value=0.5, label='Strength')
39
+ ],
40
+ outputs='image',
41
+ title="Creative Touch"
42
+ ).queue(max_size=10).launch()