Spaces:
Running
on
Zero
Running
on
Zero
added zero decorators
Browse files
app.py
CHANGED
@@ -9,6 +9,7 @@ import os
|
|
9 |
import sys
|
10 |
import json # Added import
|
11 |
import copy
|
|
|
12 |
# Add project root to sys.path to allow direct import of var_post_samp
|
13 |
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "."))
|
14 |
if project_root not in sys.path:
|
@@ -92,6 +93,7 @@ def save_configuration(image_editor_data, image_input, prompt, seed_val, task, r
|
|
92 |
except Exception as e:
|
93 |
return gr.Markdown(f"""<p style='color:red;'>Error saving configuration: {str(e)}</p>""")
|
94 |
|
|
|
95 |
def embed_prompt(prompt, device):
|
96 |
print(f"Generating prompt embeddings for: {prompt}")
|
97 |
with torch.no_grad(): # Add torch.no_grad() here
|
@@ -264,6 +266,7 @@ def postprocess_image(image_tensor):
|
|
264 |
pil_image = TF.to_pil_image(image_tensor)
|
265 |
return pil_image
|
266 |
|
|
|
267 |
def inpaint_image(image_editor_output, prompt_text, fixed_seed_value, use_random_seed, guidance_scale, num_steps): # MODIFIED: seed_input changed to fixed_seed_value, use_random_seed
|
268 |
try:
|
269 |
if image_editor_output is None:
|
@@ -364,6 +367,7 @@ def inpaint_image(image_editor_output, prompt_text, fixed_seed_value, use_random
|
|
364 |
# Return a more user-friendly error message to Gradio
|
365 |
raise gr.Error(f"An error occurred: {str(e)}. Check console for details.")
|
366 |
|
|
|
367 |
def super_resolution_image(lr_image, prompt_text, fixed_seed_value, use_random_seed, guidance_scale, num_steps, sr_scale_factor, downscale_input):
|
368 |
try:
|
369 |
if lr_image is None:
|
@@ -728,55 +732,20 @@ Use the slider to compare the low resolution input image with the super-resolved
|
|
728 |
|
729 |
gr.Markdown("---") # Separator
|
730 |
gr.Markdown("### Click an example to load:")
|
731 |
-
|
732 |
-
for ex in example_list_inp:
|
733 |
-
if ex[0]["background"] == input_data:
|
734 |
-
prompt_value, task, num_steps = ex[1], ex[2], ex[3]
|
735 |
-
# Load inpainting example into ImageEditor
|
736 |
-
image_editor.clear()
|
737 |
-
if input_data and input_data.get("background"):
|
738 |
-
image_editor.upload_image(input_data["background"])
|
739 |
-
if input_data and input_data.get("layers"):
|
740 |
-
for layer in input_data["layers"]:
|
741 |
-
image_editor.upload_mask(layer)
|
742 |
-
# Update other UI controls
|
743 |
-
prompt_text.value = prompt_value
|
744 |
-
task_selector.value = task
|
745 |
-
num_steps_slider.value = num_steps
|
746 |
-
seed_slider.value = random.randint(0, 2**32 - 1)
|
747 |
-
guidance_scale_slider.value = default_guidance_scale
|
748 |
-
update_visibility(task)
|
749 |
-
|
750 |
-
def load_sr_example(input_data):
|
751 |
-
for ex in example_list_sr:
|
752 |
-
if ex[0] == input_data:
|
753 |
-
prompt_value, task, num_steps = ex[1], ex[2], ex[3]
|
754 |
-
# Load super-resolution example into Image component
|
755 |
-
image_input.clear()
|
756 |
-
image_input.upload_image(input_data)
|
757 |
-
# Update other UI controls
|
758 |
-
prompt_text.value = prompt_value
|
759 |
-
task_selector.value = task
|
760 |
-
num_steps_slider.value = num_steps
|
761 |
-
seed_slider.value = random.randint(0, 2**32 - 1)
|
762 |
-
guidance_scale_slider.value = default_guidance_scale
|
763 |
-
update_visibility(task)
|
764 |
-
# Examples for both tasks, loading via load_example (mutates components directly)
|
765 |
with gr.Row():
|
766 |
gr.Examples(
|
767 |
examples=example_list_sr,
|
768 |
inputs=[image_input, prompt_text, task_selector, num_steps_slider],
|
769 |
-
fn=load_sr_example,
|
770 |
label="Super Resolution Examples",
|
771 |
-
cache_examples=
|
772 |
)
|
773 |
with gr.Row():
|
774 |
gr.Examples(
|
775 |
examples=example_list_inp,
|
776 |
inputs=[image_editor, prompt_text, task_selector, num_steps_slider],
|
777 |
-
fn=load_inp_example,
|
778 |
label="Inpainting Examples",
|
779 |
-
cache_examples=
|
780 |
)
|
781 |
|
782 |
|
|
|
9 |
import sys
|
10 |
import json # Added import
|
11 |
import copy
|
12 |
+
import spaces
|
13 |
# Add project root to sys.path to allow direct import of var_post_samp
|
14 |
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "."))
|
15 |
if project_root not in sys.path:
|
|
|
93 |
except Exception as e:
|
94 |
return gr.Markdown(f"""<p style='color:red;'>Error saving configuration: {str(e)}</p>""")
|
95 |
|
96 |
+
@spaces.GPU
|
97 |
def embed_prompt(prompt, device):
|
98 |
print(f"Generating prompt embeddings for: {prompt}")
|
99 |
with torch.no_grad(): # Add torch.no_grad() here
|
|
|
266 |
pil_image = TF.to_pil_image(image_tensor)
|
267 |
return pil_image
|
268 |
|
269 |
+
@spaces.GPU
|
270 |
def inpaint_image(image_editor_output, prompt_text, fixed_seed_value, use_random_seed, guidance_scale, num_steps): # MODIFIED: seed_input changed to fixed_seed_value, use_random_seed
|
271 |
try:
|
272 |
if image_editor_output is None:
|
|
|
367 |
# Return a more user-friendly error message to Gradio
|
368 |
raise gr.Error(f"An error occurred: {str(e)}. Check console for details.")
|
369 |
|
370 |
+
@spaces.GPU
|
371 |
def super_resolution_image(lr_image, prompt_text, fixed_seed_value, use_random_seed, guidance_scale, num_steps, sr_scale_factor, downscale_input):
|
372 |
try:
|
373 |
if lr_image is None:
|
|
|
732 |
|
733 |
gr.Markdown("---") # Separator
|
734 |
gr.Markdown("### Click an example to load:")
|
735 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
736 |
with gr.Row():
|
737 |
gr.Examples(
|
738 |
examples=example_list_sr,
|
739 |
inputs=[image_input, prompt_text, task_selector, num_steps_slider],
|
|
|
740 |
label="Super Resolution Examples",
|
741 |
+
cache_examples=False
|
742 |
)
|
743 |
with gr.Row():
|
744 |
gr.Examples(
|
745 |
examples=example_list_inp,
|
746 |
inputs=[image_editor, prompt_text, task_selector, num_steps_slider],
|
|
|
747 |
label="Inpainting Examples",
|
748 |
+
cache_examples=False
|
749 |
)
|
750 |
|
751 |
|
demo_images/{demo_1_image.png β demo_4_image.png}
RENAMED
File without changes
|
demo_images/{demo_1_mask.png β demo_4_mask.png}
RENAMED
File without changes
|
demo_images/{demo_1_meta.json β demo_4_meta.json}
RENAMED
File without changes
|