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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -23
app.py CHANGED
@@ -17,39 +17,59 @@ model_file = "weights-inkpen.ckpt"
17
  models = preload_models_from_standard_weights(model_file, Device)
18
 
19
 
20
- @spaces.GPU(duration = 242)
21
- def generate_image(prompt, strength, seed):
22
- # Your generate function adapted to accept parameters
23
- output_image = generate(
24
- prompt=prompt,
25
- uncond_prompt="",
26
- input_image=None,
27
- strength=strength,
28
- do_cfg=True,
29
- cfg_scale=8,
30
- sampler_name="ddpm",
31
- n_inference_steps=50,
32
- seed=seed,
33
- models=models,
34
- device=Device,
35
- idle_device="cpu",
36
- tokenizer=tokenizer,
37
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  return Image.fromarray(output_image)
39
 
40
-
41
- # Gradio interface with additional inputs for strength and seed
42
  iface = gr.Interface(
43
  fn=generate_image,
44
  inputs=[
 
45
  gr.Textbox(label="Prompt"), # Input text prompt
46
- gr.Slider(0, 1, step=0.01, label="Strength (For Image-2-Image): Strength = 1 (More deviation), Strength = 0 (Less deviation)"), # Slider for strength
47
  gr.Number(label="Seed"), # Seed for reproducibility
 
 
48
  ],
49
  outputs=gr.Image(label="Generated Image"), # Output generated image
50
  title="Stable Diffusion Image Generator",
51
- description="Generate images from text prompts using Stable Diffusion."
52
  )
53
 
54
  # Launch the Gradio interface with public sharing enabled
55
- iface.launch(share=True, debug=True)
 
17
  models = preload_models_from_standard_weights(model_file, Device)
18
 
19
 
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,
34
+ models=models,
35
+ device=Device,
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="",
44
+ input_image=input_image,
45
+ strength=strength,
46
+ do_cfg=True,
47
+ cfg_scale=8,
48
+ sampler_name="ddpm",
49
+ n_inference_steps=n_inference_steps,
50
+ seed=seed,
51
+ models=models,
52
+ device=Device,
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=[
62
+ gr.Radio(choices=["Text-to-Image", "Image-to-Image"], label="Mode"), # Toggle between modes
63
  gr.Textbox(label="Prompt"), # Input text prompt
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",
71
+ description="Generate images from text prompts or use image-to-image generation."
72
  )
73
 
74
  # Launch the Gradio interface with public sharing enabled
75
+ iface.launch(share=True, debug=True)