/ Модель

Характеристики

Параметры
58,7 млн
Лицензия
MIT
Архитектура
donut-swin · dense
Базовая модель
donut-base-finetuned-rvlcdip
Библиотека
transformers
Опубликована
24 окт 2024

donut-irs-tax-docs-classifier

Классификация изображенийИзображение → label4 профессии

Модель Donut классифицирует изображения налоговых документов IRS США по типам форм для автоматической сортировки.

81скачиваний за 30 дней11лайковвеса обновлены28 окт 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Donut-IRS-Tax-Docs-Classifier — модель hsarfraz на базе архитектуры Donut с энкодером Swin, дообученная для классификации изображений налоговых документов IRS США. Она распознаёт до 28 типов документов, используемых при подготовке налоговых деклараций; в карточке перечислены формы 1040, W-2 и различные приложения к декларациям. Для инференса README рекомендует изображения размером 1920 × 2560 пикселей. Модель содержит 58,7 млн параметров и распространяется под лицензией MIT.

Модель предназначена для автоматической сортировки сканов и изображений налоговых форм перед дальнейшей обработкой. Обучение проводилось на наборе более чем из 3000 документов. Классификатор специализирован на формах IRS США; README не описывает поддержку других типов документов или языков, а также не приводит метрики качества.

Сценарии применения

  • Определение типа формы IRS на скане налогового документа
  • Сортировка форм 1040 и приложений к декларации
  • Распознавание формы W-2 в наборе налоговых документов

Ограничения

Модель специализирована на перечисленных в карточке формах IRS США; качество на других документах не описано. README не приводит метрик точности.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Donut - model fine-tuned for US IRS tax documents classification

This donut model has been fine-tuned for IRS (US) tax document classification. It can classify up to 28 different types of IRS documents, targeting common set of documents used for tax returns.

  1. 1040 U.S. Individual Income Tax Return
  2. 1040-NR U.S. Nonresident Alien Income Tax Return
  3. 1040-NR SCHEDULE OI Other Information
  4. 1040 SCHEDULE 1 Additional Income and Adjustments to Income
  5. 1040 SCHEDULE 2 Additional Taxes
  6. 1040 SCHEDULE 3 Additional Credits and Payments
  7. 1040 SCHEDULE 8812 Credits for Qualifying Children and Other Dependents
  8. 1040 SCHEDULE A Itemized Deductions
  9. 1040 SCHEDULE B Interest and Ordinary Dividends
  10. 1040 SCHEDULE C Profit or Loss From Business
  11. 1040 SCHEDULE D Capital Gains and Losses
  12. 1040 SCHEDULE E Supplemental Income and Loss
  13. 1040 SCHEDULE SE Self-Employment Tax
  14. Form 1125-A Cost of Goods Sold
  15. Form 8949 Sales and Other Dispositions of Capital Assets
  16. Form 8959 Additional Medicare Tax
  17. Form 8960 Net Investment Income Tax — Individuals, Estates, and Trusts
  18. Form 8995 Qualified Business Income Deduction Simplified Computation
  19. Form 8995-A SCHEDULE A Specified Service Trades or Businesses
  20. Form W-2 Wage and Tax Statement

Model Details & Description

The base model is 'naver-clova-ix/donut-base-finetuned-rvlcdip', the model is finetuned using training data set of over 3000+ documents. The config.json file has assocociated label2id updated to reflect all labels that can be classified via the model.

For inference use image size with width: 1920 px and height: 2560 px

Sample Code for Document Inference

# load dependencies
import torch
from transformers import DonutSwinModel, DonutSwinPreTrainedModel,DonutProcessor
from torch import nn
from PIL import Image

# 
class DonutForImageClassification(DonutSwinPreTrainedModel):
    def __init__(self, config):
        super().__init__(config)
        self.num_labels = config.num_labels
        self.swin = DonutSwinModel(config)
        self.dropout = nn.Dropout(0.5)
        self.classifier = nn.Linear(self.swin.num_features, config.num_labels)

    def forward(self, pixel_values: torch.Tensor) -> torch.Tensor:
        outputs = self.swin(pixel_values)
        pooled_output = outputs[1]
        pooled_output = self.dropout(pooled_output)
        logits = self.classifier(pooled_output)
        return logits

sModelName = 'hsarfraz/donut-irs-tax-docs-classifier'
processor = DonutProcessor.from_pretrained(sModelName)
model = DonutForImageClassification.from_pretrained(sModelName)

device = 'cuda' if torch.cuda.is_available() else 'cpu'
model.to(device)

model.eval()

# load test image
sTestImagePath ='replace this with document image path' # i.e. 
# open image
img = Image.open(sTestImagePath)
# resize image to width 1920 and height 2560 - fine tuned model is trained with this width and height 
img_new = img.resize((1920,2560),Image.Resampling.LANCZOS)

# perfoem inference
predicted_label = ''
with torch.no_grad():
    pixel_values = processor(img_new.convert("RGB"), return_tensors="pt").pixel_values
    print(pixel_values.shape)
    pixel_values = pixel_values.to(device)
    outputs = model(pixel_values)
    logits, predicted = torch.max(outputs.data, 1)
    pval = predicted.cpu().numpy()[0]
    predicted_label = model.config.id2label[pval]

print('---------------------------------- ')
print('Document Image Classification: ',predicted_label)


Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · image-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
DonutForImageClassification
Ревизия весов
176bacd

0 моделей