Spaces:
Sleeping
Sleeping
import gradio as gr | |
import argparse | |
import torch | |
from donut import DonutModel | |
from PIL import Image | |
from poppler import load_from_file, PageRenderer | |
def demo_process(pdf_file): | |
pdf_document = load_from_file(pdf_file.name) | |
page_1 = pdf_document.create_page(0) | |
renderer = PageRenderer() | |
image = renderer.render_page(page_1) | |
image_data = image.data | |
input_img = Image.fromarray(image_data) | |
output = model.inference(image=input_img, prompt=task_prompt)["predictions"][0] | |
return output | |
model = DonutModel.from_pretrained("uartimcs/donut-invoice-extract") | |
model.eval() | |
task_name = "SGSInvoice" | |
task_prompt = f"<s_{task_name}>" | |
demo = gr.Interface(fn=demo_process,inputs=gr.File(file_count='single', file_types=['.pdf']),outputs="json", title=f"Donut 🍩 demonstration for `{task_name}` task",) | |
demo.launch() |