Spaces:
Runtime error
Runtime error
| import os | |
| import gradio as gr | |
| from gradio_client import Client, handle_file | |
| HF_TOKEN = os.environ.get('HF_KEY') | |
| client = Client("geyongtao/video-matting", | |
| max_workers=3, | |
| hf_token=HF_TOKEN) | |
| def process_image_check(path_input): | |
| if path_input is None: | |
| raise gr.Error( | |
| "Missing image in the left pane: please upload an image first." | |
| ) | |
| def infer_image_matting(matting_image_input): | |
| return client.predict( | |
| file=handle_file(matting_image_input), | |
| api_name="/infer_image_matting" | |
| ) | |
| def run_demo_server(): | |
| gradio_theme = gr.themes.Default() | |
| with gr.Blocks( | |
| theme=gradio_theme, | |
| title="Matting", | |
| ) as demo: | |
| with gr.Row(): | |
| gr.Markdown("# Matting Demo") | |
| with gr.Row(): | |
| gr.Markdown("### Due to the GPU quota limit, if an error occurs, please wait for 5 minutes before retrying.") | |
| with gr.Row(): | |
| with gr.Column(): | |
| matting_image_input = gr.Image( | |
| label="Input Image", | |
| type="filepath", | |
| ) | |
| with gr.Row(): | |
| matting_image_submit_btn = gr.Button( | |
| value="Estimate Matting", variant="primary" | |
| ) | |
| matting_image_reset_btn = gr.Button(value="Reset") | |
| with gr.Column(): | |
| matting_image_output = gr.Image(label='Output') | |
| matting_image_submit_btn.click( | |
| fn=process_image_check, | |
| inputs=matting_image_input, | |
| outputs=None, | |
| preprocess=False, | |
| queue=False, | |
| ).success( | |
| # fn=process_pipe_matting, | |
| fn=infer_image_matting, | |
| inputs=[ | |
| matting_image_input, | |
| ], | |
| outputs=[matting_image_output], | |
| concurrency_limit=1, | |
| ) | |
| matting_image_reset_btn.click( | |
| fn=lambda: ( | |
| None, | |
| None, | |
| ), | |
| inputs=[], | |
| outputs=[ | |
| matting_image_input, | |
| matting_image_output, | |
| ], | |
| queue=False, | |
| ) | |
| demo.queue( | |
| api_open=False, | |
| ).launch() | |
| if __name__ == '__main__': | |
| run_demo_server() |