Jasmeet Singh commited on
Commit
c1a4711
·
verified ·
1 Parent(s): b3c2131

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -10
app.py CHANGED
@@ -20,14 +20,14 @@ models = preload_models_from_standard_weights(model_file, Device)
20
  @spaces.GPU(duration=242)
21
  def generate_image(mode, prompt, strength, seed, n_inference_steps, input_image=None):
22
  if mode == "Text-to-Image":
23
- # If Text-to-Image, ignore the input image
24
  output_image = generate(
25
  prompt=prompt,
26
- uncond_prompt="", ##negative prompt
27
  input_image=None,
28
- strength=strength, ##strength for skippin steps
29
- do_cfg=True, ##cassifier free guidance
30
- cfg_scale=8,
31
  sampler_name="ddpm",
32
  n_inference_steps=n_inference_steps,
33
  seed=seed,
@@ -36,8 +36,8 @@ def generate_image(mode, prompt, strength, seed, n_inference_steps, input_image=
36
  idle_device="cpu",
37
  tokenizer=tokenizer,
38
  )
39
- elif mode == "Image-to-Image":
40
- # If Image-to-Image, use the uploaded image
41
  output_image = generate(
42
  prompt=prompt,
43
  uncond_prompt="",
@@ -53,9 +53,12 @@ def generate_image(mode, prompt, strength, seed, n_inference_steps, input_image=
53
  idle_device="cpu",
54
  tokenizer=tokenizer,
55
  )
 
 
 
56
  return Image.fromarray(output_image)
57
 
58
- # Gradio interface with additional inputs for mode selection and inference steps
59
  iface = gr.Interface(
60
  fn=generate_image,
61
  inputs=[
@@ -64,7 +67,7 @@ iface = gr.Interface(
64
  gr.Slider(0, 1, step=0.01, label="Strength (For Image-2-Image)"), # Slider for strength
65
  gr.Number(label="Seed"), # Seed for reproducibility
66
  gr.Slider(1, 1000, step=1, label="Number of Inference Steps"), # Slider for inference steps
67
- gr.Image(label="Input Image (For Image-to-Image)", optional=True), # Optional input image
68
  ],
69
  outputs=gr.Image(label="Generated Image"), # Output generated image
70
  title="Stable Diffusion Image Generator",
@@ -72,4 +75,4 @@ iface = gr.Interface(
72
  )
73
 
74
  # Launch the Gradio interface with public sharing enabled
75
- iface.launch(share=True, debug=True)
 
20
  @spaces.GPU(duration=242)
21
  def generate_image(mode, prompt, strength, seed, n_inference_steps, input_image=None):
22
  if mode == "Text-to-Image":
23
+ # Ignore the input image
24
  output_image = generate(
25
  prompt=prompt,
26
+ uncond_prompt="",
27
  input_image=None,
28
+ strength=strength,
29
+ do_cfg=True,
30
+ cfg_scale=8,
31
  sampler_name="ddpm",
32
  n_inference_steps=n_inference_steps,
33
  seed=seed,
 
36
  idle_device="cpu",
37
  tokenizer=tokenizer,
38
  )
39
+ elif mode == "Image-to-Image" and input_image is not None:
40
+ # Use the uploaded image
41
  output_image = generate(
42
  prompt=prompt,
43
  uncond_prompt="",
 
53
  idle_device="cpu",
54
  tokenizer=tokenizer,
55
  )
56
+ else:
57
+ return "Please upload an image for Image-to-Image mode."
58
+
59
  return Image.fromarray(output_image)
60
 
61
+ # Gradio interface with inputs for mode selection and inference steps
62
  iface = gr.Interface(
63
  fn=generate_image,
64
  inputs=[
 
67
  gr.Slider(0, 1, step=0.01, label="Strength (For Image-2-Image)"), # Slider for strength
68
  gr.Number(label="Seed"), # Seed for reproducibility
69
  gr.Slider(1, 1000, step=1, label="Number of Inference Steps"), # Slider for inference steps
70
+ gr.Image(label="Input Image (For Image-to-Image)"), # Input image without optional flag
71
  ],
72
  outputs=gr.Image(label="Generated Image"), # Output generated image
73
  title="Stable Diffusion Image Generator",
 
75
  )
76
 
77
  # Launch the Gradio interface with public sharing enabled
78
+ iface.launch(share=True, debug=True)