Spaces:
Runtime error
Runtime error
File size: 2,056 Bytes
19327c9 31d8bef 19327c9 31d8bef 45a5416 31d8bef 1aa8228 31d8bef 19327c9 |
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 48 49 50 51 52 53 54 55 |
#!/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()
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')
question = gr.Text(label='Question')
run_button = gr.Button('Run')
with gr.Column(scale=1.5):
answer = 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, question]
outputs = [answer, depth, edge, normals, segmentation, object_detection, ocr]
paths = sorted(pathlib.Path('prismer/images').glob('*'))
ex_questions = ['What is the man on the left doing?',
'What is this person doing?',
'How many cows are in this image?',
'What is the type of animal in this image?',
'What toy is it?']
examples = [[path.as_posix(), 'Prismer-Base', ex_questions[i]] for i, path in enumerate(paths)]
gr.Examples(examples=examples,
inputs=inputs,
outputs=outputs,
fn=model.run_vqa,
cache_examples=os.getenv('SYSTEM') == 'spaces')
run_button.click(fn=model.run_vqa, inputs=inputs, outputs=outputs)
return demo
if __name__ == '__main__':
demo = create_demo()
demo.queue().launch()
|