Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
#!/usr/bin/env python | |
import pathlib | |
import gradio as gr | |
from model import FULLY_SUPERVISED_MODELS, SEMI_SUPERVISED_MODELS, Model | |
DESCRIPTION = '''# CutLER | |
This is an unofficial demo for [https://github.com/facebookresearch/CutLER](https://github.com/facebookresearch/CutLER). | |
''' | |
model = Model() | |
paths = sorted(pathlib.Path('CutLER/cutler/demo/imgs').glob('*.jpg')) | |
def create_unsupervised_demo(): | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
with gr.Column(): | |
image = gr.Image(label='Input image', type='filepath') | |
model_name = gr.Text(label='Model', | |
value='Unsupervised', | |
visible=False) | |
score_threshold = gr.Slider(label='Score threshold', | |
minimum=0, | |
maximum=1, | |
value=0.5, | |
step=0.05) | |
run_button = gr.Button('Run') | |
with gr.Column(): | |
result = gr.Image(label='Result', type='numpy') | |
with gr.Row(): | |
gr.Examples(examples=[[path.as_posix()] for path in paths], | |
inputs=[image]) | |
run_button.click(fn=model, | |
inputs=[ | |
image, | |
model_name, | |
score_threshold, | |
], | |
outputs=result) | |
return demo | |
def create_supervised_demo(): | |
model_names = list(SEMI_SUPERVISED_MODELS.keys()) + list( | |
FULLY_SUPERVISED_MODELS.keys()) | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
with gr.Column(): | |
image = gr.Image(label='Input image', type='filepath') | |
model_name = gr.Dropdown(label='Model', | |
choices=model_names, | |
value=model_names[-1]) | |
score_threshold = gr.Slider(label='Score threshold', | |
minimum=0, | |
maximum=1, | |
value=0.5, | |
step=0.05) | |
run_button = gr.Button('Run') | |
with gr.Column(): | |
result = gr.Image(label='Result', type='numpy') | |
with gr.Row(): | |
gr.Examples(examples=[[path.as_posix()] for path in paths], | |
inputs=[image]) | |
run_button.click(fn=model, | |
inputs=[ | |
image, | |
model_name, | |
score_threshold, | |
], | |
outputs=result) | |
return demo | |
with gr.Blocks(css='style.css') as demo: | |
gr.Markdown(DESCRIPTION) | |
with gr.Tabs(): | |
with gr.TabItem('Zero-shot unsupervised'): | |
create_unsupervised_demo() | |
with gr.TabItem('Semi/Fully-supervised'): | |
create_supervised_demo() | |
demo.queue().launch() | |