Image-to-Text
Transformers
Safetensors
vision-encoder-decoder
image-text-to-text
donut
invoice
ocr
document-understanding
Instructions to use ridwanFatur98/invoice-doc-to-text with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ridwanFatur98/invoice-doc-to-text with Transformers:
# Use a pipeline as a high-level helper # Warning: Pipeline type "image-to-text" is no longer supported in transformers v5. # You must load the model directly (see below) or downgrade to v4.x with: # pip install "transformers<5.0.0" from transformers import pipeline pipe = pipeline("image-to-text", model="ridwanFatur98/invoice-doc-to-text")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForMultimodalLM tokenizer = AutoTokenizer.from_pretrained("ridwanFatur98/invoice-doc-to-text") model = AutoModelForMultimodalLM.from_pretrained("ridwanFatur98/invoice-doc-to-text", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Invoice Document to Text
Donut-based model for invoice document parsing.
Load
import torch
from transformers import DonutProcessor, VisionEncoderDecoderModel
ckpt = "ridwanFatur98/invoice-doc-to-text"
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
processor = DonutProcessor.from_pretrained(ckpt)
model = VisionEncoderDecoderModel.from_pretrained(ckpt)
model.to(device)
model.eval()
Inference
from PIL import Image
image = Image.open("invoice.png").convert("RGB")
pixel_values = processor(
image,
return_tensors="pt"
).pixel_values.to(device)
if device.type == "cuda":
pixel_values = pixel_values.to(torch.float16)
decoder_input_ids = processor.tokenizer(
"<parsing>",
add_special_tokens=False,
return_tensors="pt"
).input_ids.to(device)
with torch.no_grad():
generated_ids = model.generate(
pixel_values,
decoder_input_ids=decoder_input_ids,
max_length=128,
bad_words_ids=[[processor.tokenizer.unk_token_id]],
)
generated_text = processor.batch_decode(
generated_ids,
skip_special_tokens=False
)[0]
result = processor.token2json(generated_text)
print(result)
- Downloads last month
- 409