OCR DocVQA Donut

提供商jinhybr
分类document-question-answering
许可证mit
下载量72
星标0

简介

Donut 是一款打破传统 OCR 流程的文档问答模型。与传统的“先识别文字、再分析结构、最后提取信息”的三步走方案不同,它采用端到端的视觉编码架构,直接从文档图像中读取语义并生成答案。这意味着它不需要依赖外部 OCR 引擎,极大降低了部署复杂度,尤其擅长处理发票、收据等格式固定但布局复杂的文档。对于开发者而言,它将文档解析从繁琐的文本清洗转变为简单的视觉问答,上手门槛低且推理链路更短。

核心亮点

  • 端到端架构,无需额外部署 OCR 引擎
  • 高效处理发票、凭证等结构化文档提取
  • 直接将图像转化为文本答案,减少解析误差
  • MIT 协议开源,部署灵活且集成成本低

使用方法

安装依赖
# 安装 Hugging Face transformers
pip install transformers torch
SDK 使用
# 使用 transformers 加载模型
from transformers import AutoModel, AutoTokenizer

model = AutoModel.from_pretrained("jinhybr/OCR-DocVQA-Donut")
tokenizer = AutoTokenizer.from_pretrained("jinhybr/OCR-DocVQA-Donut")

Hugging Face 下载

我们推荐使用命令行或者 Hugging Face Hub SDK 来进行模型的下载。

操作指引:在下载前,请先通过如下命令安装 huggingface_hub:

操作指引
pip install -U huggingface_hub

命令行下载

下载完整模型库

下载完整模型库
huggingface-cli download jinhybr/OCR-DocVQA-Donut

下载单个文件到指定本地文件夹(以下载 config.json 到当前路径下 ./dir 目录为例)

下载单个文件到指定本地文件夹(以下载 config.json 到当前路径下 ./dir 目录为例)
huggingface-cli download jinhybr/OCR-DocVQA-Donut config.json --local-dir ./dir

更多命令行下载选项,可参见官方文档

SDK 下载

SDK 下载
# 模型下载
from huggingface_hub import snapshot_download
model_dir = snapshot_download('jinhybr/OCR-DocVQA-Donut')

Git 下载

请确保 lfs 已经被正确安装

Git 下载
git lfs install
git clone https://huggingface.co/jinhybr/OCR-DocVQA-Donut

如果您希望跳过 lfs 大文件下载,可以使用如下命令

跳过 LFS
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/jinhybr/OCR-DocVQA-Donut

模型文件托管在 Hugging Face Hub,使用 HF CLI / SDK / Git 直接下载,不经过本站。

PyTorch / Transformers 使用

安装 Transformers

安装 Transformers
pip install -U transformers torch

模型加载和推理

模型加载和推理
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained('jinhybr/OCR-DocVQA-Donut')
tokenizer = AutoTokenizer.from_pretrained('jinhybr/OCR-DocVQA-Donut')

完整文档

来源: HuggingFace

---
license: mit
pipeline_tag: document-question-answering
tags:

  • donut

  • image-to-text

  • vision

widget:
  • text: "What is the invoice number?"

src: "https://huggingface.co/spaces/impira/docquery/resolve/2359223c1837a7587402bda0f2643382a6eefeab/invoice.png"
  • text: "What is the purchase amount?"

src: "https://huggingface.co/spaces/impira/docquery/resolve/2359223c1837a7587402bda0f2643382a6eefeab/contract.jpeg"
---

Donut (base-sized model, fine-tuned on DocVQA)

Donut model fine-tuned on DocVQA. It was introduced in the paper OCR-free Document Understanding Transformer by Geewok et al. and first released in this repository.

Disclaimer: The team releasing Donut did not write a model card for this model so this model card has been written by the Hugging Face team.

Model description

Donut consists of a vision encoder (Swin Transformer) and a text decoder (BART). Given an image, the encoder first encodes the image into a tensor of embeddings (of shape batch_size, seq_len, hidden_size), after which the decoder autoregressively generates text, conditioned on the encoding of the encoder.

!model image

Intended uses & limitations

This model is fine-tuned on DocVQA, a document visual question answering dataset.

We refer to the documentation which includes code examples.