Spaces:
Sleeping
Sleeping
File size: 1,801 Bytes
c74f664 182a35c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | import gradio as gr
import os
import tempfile
from PIL import Image
import time
import torch
temp_dir=tempfile.gettempdir()
def process_images(condition_images, input_images):
start = time.time()
output_images = []
for img in input_images:
if img is not None:
output_images.append(img)
else:
gr.Error("Please upload at least one image")
pth_path = os.path.join(temp_dir, "output.pth")
temp_data = {"test": "test"}
PTH_data={"test":"test"}
torch.save(PTH_data,pth_path)
end=time.time()
process_time = f"{end-start:.2f} s"
return output_images, pth_path, process_time
with gr.Blocks() as demo:
gr.Markdown("Title")
with gr.Row():
with gr.Group():
condition_inputs = gr.Files(label="Condition Img", file_types=[".png", ".jpg", ".jpeg"], type='filepath')
input_images = gr.Files(label="Input Img", file_types=[".png", ".jpg", ".jpeg"], type='filepath')
with gr.Group():
output_gallery = gr.Gallery(label="Output Img", show_label=True, columns=2)
pth_output = gr.File(label="Download PTH ")
process_time = gr.Textbox(label="Processing Time", type="text",interactive=False)
button1 = gr.Button("Upload Images")
def func1(condition_files, input_files):
condition_imgs = [Image.open(f) for f in condition_files] if condition_files else []
input_imgs = [Image.open(f) for f in input_files] if input_files else []
return process_images(condition_imgs, input_imgs)
button1.click(
fn=func1,
inputs=[condition_inputs, input_images],
outputs=[output_gallery, pth_output, process_time]
)
demo.launch() |