Spaces:
Runtime error
Runtime error
| #!/usr/bin/env python | |
| from __future__ import annotations | |
| import os | |
| import pathlib | |
| import gradio as gr | |
| from prismer_model import Model | |
| def create_demo() -> gr.Blocks: | |
| model = Model() | |
| model.mode = 'caption' | |
| with gr.Blocks() as demo: | |
| with gr.Row(): | |
| with gr.Column(): | |
| image = gr.Image(label='Input', type='filepath') | |
| model_name = gr.Dropdown(label='Model', choices=['Prismer-Base', 'Prismer-Large'], value='Prismer-Base') | |
| run_button = gr.Button('Run') | |
| with gr.Column(scale=1.5): | |
| caption = gr.Text(label='Model Prediction') | |
| with gr.Row(): | |
| depth = gr.Image(label='Depth') | |
| edge = gr.Image(label='Edge') | |
| normals = gr.Image(label='Normals') | |
| with gr.Row(): | |
| segmentation = gr.Image(label='Segmentation') | |
| object_detection = gr.Image(label='Object Detection') | |
| ocr = gr.Image(label='OCR Detection') | |
| inputs = [image, model_name] | |
| outputs = [caption, depth, edge, normals, segmentation, object_detection, ocr] | |
| paths = sorted(pathlib.Path('prismer/images').glob('*')) | |
| examples = [[path.as_posix(), 'Prismer-Base'] for path in paths] | |
| gr.Examples(examples=examples, | |
| inputs=inputs, | |
| outputs=outputs, | |
| fn=model.run_caption, | |
| cache_examples=os.getenv('SYSTEM') == 'spaces') | |
| run_button.click(fn=model.run_caption, inputs=inputs, outputs=outputs) | |
| return demo | |
| if __name__ == '__main__': | |
| demo = create_demo() | |
| demo.queue().launch() | |