layoutlm-document-qa/README.md

62 lines
2.2 KiB
Markdown
Raw Normal View History

2022-08-07 21:07:19 +00:00
---
2022-08-27 00:39:20 +00:00
language: en
2022-08-07 21:07:19 +00:00
license: mit
2022-09-01 18:23:08 +00:00
tags:
- layoutlm
- document-question-answering
- pdf
2022-08-07 21:07:19 +00:00
---
2022-08-08 00:07:34 +00:00
2022-08-27 00:39:20 +00:00
# LayoutLM for Visual Question Answering
2022-08-08 00:07:34 +00:00
2022-08-31 16:30:00 +00:00
This is a fine-tuned version of the multi-modal [LayoutLM](https://aka.ms/layoutlm) model for the task of question answering on documents. It has been fine-tuned using both the [SQuAD2.0](https://huggingface.co/datasets/squad_v2) and [DocVQA](https://www.docvqa.org/) datasets.
2022-08-08 00:07:34 +00:00
2022-08-27 00:39:20 +00:00
## Getting started with the model
2022-08-27 00:39:20 +00:00
To run these examples, you must have [PIL](https://pillow.readthedocs.io/en/stable/installation.html), [pytesseract](https://pypi.org/project/pytesseract/), and [PyTorch](https://pytorch.org/get-started/locally/) installed in addition to [transformers](https://huggingface.co/docs/transformers/index).
2022-08-27 00:39:20 +00:00
```python
from transformers import AutoTokenizer, pipeline
2022-08-08 01:57:29 +00:00
2022-08-27 00:39:20 +00:00
tokenizer = AutoTokenizer.from_pretrained(
"impira/layoutlm-document-qa",
add_prefix_space=True,
)
2022-08-08 01:57:29 +00:00
2022-08-27 00:39:20 +00:00
nlp = pipeline(
model="impira/layoutlm-document-qa",
tokenizer=tokenizer,
trust_remote_code=True,
)
2022-08-08 01:57:29 +00:00
2022-08-27 00:39:20 +00:00
nlp(
"https://templates.invoicehome.com/invoice-template-us-neat-750px.png",
"What is the invoice number?"
)
# {'score': 0.9943977, 'answer': 'us-001', 'start': 15, 'end': 15}
2022-08-08 01:57:29 +00:00
2022-08-27 00:39:20 +00:00
nlp(
"https://miro.medium.com/max/787/1*iECQRIiOGTmEFLdWkVIH2g.jpeg",
"What is the purchase amount?"
)
# {'score': 0.9912159, 'answer': '$1,000,000,000', 'start': 97, 'end': 97}
2022-08-08 01:57:29 +00:00
2022-08-27 00:39:20 +00:00
nlp(
"https://www.accountingcoach.com/wp-content/uploads/2013/10/income-statement-example@2x.png",
"What are the 2020 net sales?"
)
# {'score': 0.59147286, 'answer': '$ 3,750', 'start': 19, 'end': 20}
```
2022-08-08 01:57:29 +00:00
2022-08-31 16:34:21 +00:00
**NOTE**: This model was recently landed in transformers via [PR #18407](https://github.com/huggingface/transformers/pull/18407), so you'll need to use a recent version of transformers, for example:
```bash
$ pip install git+https://github.com/huggingface/transformers.git@5c4c869014f5839d04c1fd28133045df0c91fd84
```
The pipeline is currently in review ([PR #18414](https://github.com/huggingface/transformers/pull/18414)). In the meantime, you'll have to use the `trust_remote_code=True` flag to run it.
2022-08-27 00:39:20 +00:00
## About us
2022-08-27 00:39:20 +00:00
This model was created by the team at [Impira](https://www.impira.com/).