/ Модель

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

Лицензия
MIT
Архитектура
vision-encoder-decoder · dense
Опубликована
18 окт 2022

donut-base-finetuned-cord-v2

Описание изображенийИзображение → текст4 профессии

Дообученная на CORD модель Donut извлекает текст и структурированные данные из изображений чеков без отдельного OCR-этапа.

50скачиваний за 30 дней6лайковвеса обновлены18 окт 2022

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание текста» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

philschmid/donut-base-finetuned-cord-v2 — форк модели Donut, подготовленный для демонстрации работы моделей Donut с Hugging Face Inference Endpoints. Это модель архитектуры vision-encoder-decoder: визуальный энкодер Swin Transformer преобразует изображение документа в представление, а текстовый декодер BART генерирует текст по этому представлению. Модель дообучена на наборе CORD для распознавания и структурированного извлечения данных из изображений чеков без отдельного OCR-этапа.

Модель подходит для извлечения текста и полей из чеков и для обработки изображений документов через endpoint. В репозитории указаны веса PyTorch и лицензия MIT. Карточка описывает базовый размер модели, но не приводит число параметров или длину контекста.

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

  • извлечение позиций и сумм из изображений чеков
  • распознавание текста на чеках
  • преобразование изображения чека в структурированные данные
  • обработка изображений чеков через Hugging Face Inference Endpoints

Ограничения

Модель настроена на чеки набора CORD, поэтому её качество на других типах документов не подтверждено карточкой. Веса ориентированы на изображения документов и не предназначены для обработки обычного текста без изображения.

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

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

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

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

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

Открыть на Hugging Face

Fork of naver-clova-ix/donut-base-finetuned-cord-v2

This is fork of naver-clova-ix/donut-base-finetuned-cord-v2 implementing a custom handler.py as an example for how to use donut models with inference-endpoints


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

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

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.

Use with Inference Endpoints

Hugging Face Inference endpoints can directly work with binary data, this means that we can directly send our image from our document to the endpoint. We are going to use requests to send our requests. (make your you have it installed pip install requests)

result

Send requests with Pyton

load sample image

wget https://huggingface.co/philschmid/donut-base-finetuned-cord-v2/resolve/main/sample.png

send request to endpoint

import json
import requests as r
import mimetypes

ENDPOINT_URL="" # url of your endpoint
HF_TOKEN="" # organization token where you deployed your endpoint

def predict(path_to_image:str=None):
    with open(path_to_image, "rb") as i:
      b = i.read()
    headers= {
        "Authorization": f"Bearer {HF_TOKEN}",
        "Content-Type": mimetypes.guess_type(path_to_image)[0]
    }
    response = r.post(ENDPOINT_URL, headers=headers, data=b)
    return response.json()

prediction = predict(path_to_image="sample.png")

print(prediction)
# {'menu': [{'nm': '0571-1854 BLUS WANITA',
#   'unitprice': '@120.000',
#   'cnt': '1',
#   'price': '120,000'},
#  {'nm': '1002-0060 SHOPPING BAG', 'cnt': '1', 'price': '0'}],
# 'total': {'total_price': '120,000',
#  'changeprice': '0',
#  'creditcardprice': '120,000',
#  'menuqty_cnt': '1'}}

curl example

curl https://ak7gduay2ypyr9vp.us-east-1.aws.endpoints.huggingface.cloud \
-X POST \
--data-binary 'sample.png' \
-H "Authorization: Bearer XXX" \
-H "Content-Type: null"

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

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

GPU в ailist

Универсальный рантайм

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

Подбираем GPU…

Класс архитектуры
VisionEncoderDecoderModel
Ревизия весов
4f89bf3

0 моделей