Export Donut model to onnx and run it with onnxruntime
Project description
Onnx Donut
Package to export a Donut model from pytorch to ONNX, then run it with onnxruntime.
Installation
pip install onnx-donut
Export to onnx
from onnx_donut.exporter import export_onnx
from onnx_donut.quantizer import quantize
# Hugging Face model card or folder
model_path = "naver-clova-ix/donut-base-finetuned-docvqa"
# Folder where the exported model will be stored
dst_folder = "converted_donut"
# Export from Pytorch to ONNX
export_onnx(model_path, dst_folder, opset_version=16)
# Quantize your model to int8
quantize(dst_folder, dst_folder + "_quant")
Model inference with onnxruntime
from onnx_donut.predictor import OnnxPredictor
import numpy as np
from PIL import Image
# Image path to run on
img_path = "/path/to/your/image.png"
# Folder where the exported model will be stored
onnx_folder = "converted_donut"
# Read image
img = np.array(Image.open(img_path).convert('RGB'))
# Instantiate ONNX predictor
predictor = OnnxPredictor(model_folder=onnx_folder, sess_options=options)
# Write your prompt accordingly to the model you use
prompt = f"<s_docvqa><s_question>what is the title?</s_question><s_answer>"
# Run prediction
out = predictor.generate(img, prompt)
# Display prediction
print(out)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
onnx_donut-0.1.0-py3-none-any.whl
(10.7 kB
view hashes)
Close
Hashes for onnx_donut-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4bc5811952ccd82b2efda75ec02a1fb7680a099ff41d0629c8c2a8ecbd7c6e7 |
|
MD5 | 776de58e1fd007355bacb68c1bd038a7 |
|
BLAKE2b-256 | 61b4451832aa4ee719e68b6d155b7544f502a3c4b0859fe2b03020f9a1b87ca6 |