File size: 915 Bytes
035ccb0
725886d
 
747b15d
 
747b84a
725886d
 
 
747b84a
 
 
725886d
 
 
 
 
035ccb0
725886d
 
747b84a
725886d
035ccb0
725886d
 
 
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
import gradio as gr
from transformers import LayoutLMv3Processor, LayoutLMv3ForTokenClassification
from PIL import Image
import os
os.system("which tesseract")
# Load processor and model
processor = LayoutLMv3Processor.from_pretrained("microsoft/layoutlmv3-base")
model = LayoutLMv3ForTokenClassification.from_pretrained("microsoft/layoutlmv3-base", num_labels=5)

def extract_invoice_data(image_path):
    # Open the image from the file path
    image = Image.open(image_path).convert("RGB")
    encoding = processor(image, return_tensors="pt")
    outputs = model(**encoding)
    predictions = outputs.logits.argmax(-1).squeeze().tolist()
    return {"Predictions": predictions}

# Update Gradio interface
interface = gr.Interface(
    fn=extract_invoice_data,
    inputs=gr.Image(type="filepath"),  # Use 'filepath' instead of 'file'
    outputs="json",
    title="Invoice Data Extraction"
)

interface.launch()