pix2struct / app.py
qtoino's picture
Update app.py
e5bbea8 verified
raw
history blame
1.29 kB
import gradio as gr
# from PIL import Image
from transformers import Pix2StructForConditionalGeneration, Pix2StructProcessor
model = Pix2StructForConditionalGeneration.from_pretrained("google/pix2struct-docvqa-base")
processor = Pix2StructProcessor.from_pretrained("google/pix2struct-docvqa-base")
def process_document(image, question):
# image = Image.open(image)
inputs = processor(images=image, text=question, return_tensors="pt")
predictions = model.generate(**inputs)
return processor.decode(predictions[0], skip_special_tokens=True)
description = "Demo for pix2struct fine-tuned on DocVQA (document visual question answering). To use it, simply upload your image and type a question and click 'submit', or click one of the examples to load them. Read more at the links below."
article = "<p style='text-align: center'><a href='https://arxiv.org/pdf/2210.03347.pdf' target='_blank'>PIX2STRUCT: SCREENSHOT PARSING AS PRETRAINING FOR VISUAL LANGUAGE UNDERSTANDING</a></p>"
demo = gr.Interface(
fn=process_document,
inputs=["image", "text"],
outputs="text",
title="Demo: pix2struct for DocVQA",
description=description,
article=article,
examples=[["docvqa_example.png", "How many items are sold?"]],
cache_examples=False)
demo.launch()