|
import gradio as gr |
|
from transformers import AutoProcessor, Pix2StructForConditionalGeneration |
|
from PIL import Image |
|
|
|
model = Pix2StructForConditionalGeneration.from_pretrained('google/deplot') |
|
processor = AutoProcessor.from_pretrained('google/deplot') |
|
|
|
def process_image(image): |
|
inputs = processor("Generate the underlying data table of the figure below:", image, return_tensors="pt") |
|
predictions = model.generate(**inputs, max_new_tokens=512) |
|
result = processor.decode(predictions[0], skip_special_tokens=True) |
|
return result |
|
|
|
demo = gr.Interface( |
|
fn=process_image, |
|
inputs=gr.Image(type="pil"), |
|
outputs="text", |
|
title="Chart to Text Converter", |
|
description="Upload a chart image to extract its data into table format" |
|
) |
|
|
|
demo.launch() |
|
|