/ Модель

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

Контекст
3 584 токена
Лицензия
Apache 2.0
Архитектура
vision-encoder-decoder · dense
Опубликована
5 апр 2024

sumen-base

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

Sumen преобразует изображения печатных и рукописных математических формул в последовательности LaTeX.

43скачиваний за 30 дней5лайковвеса обновлены17 апр 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sumen — трансформерная модель для преобразования изображений математических формул в последовательности LaTeX. Она предназначена для распознавания печатных и рукописных математических выражений, чтобы получать редактируемую разметку LaTeX из изображения. В метаданных указана архитектура vision-encoder-decoder и формат весов safetensors; модель связана с набором данных hoang-quoc-trung/fusion-image-to-latex-datasets.

Модель опубликована под лицензией Apache-2.0. Карточка описывает её как сквозную модель image-to-LaTeX, обученную на большом наборе данных; сведения о поддерживаемых языках, размере модели и ограничениях качества не приводятся.

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

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

Ограничения

Распознавание может быть ограничено качеством и разборчивостью изображения; карточка не приводит количественных оценок качества или подробных ограничений.

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

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

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

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

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

Открыть на Hugging Face

Translating Math Formula Images To LaTeX Sequences

Scaling Up Image-to-LaTeX Performance: Sumen An End-to-End Transformer Model With Large Dataset

image/png

Performance

image/png

image/png

Uses

Source code: https://github.com/hoang-quoc-trung/sumen

Inference

import torch
import requests
from PIL import Image
from transformers import AutoProcessor, VisionEncoderDecoderModel

# Load model & processor
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = VisionEncoderDecoderModel.from_pretrained('hoang-quoc-trung/sumen-base').to(device)
processor = AutoProcessor.from_pretrained('hoang-quoc-trung/sumen-base')
task_prompt = processor.tokenizer.bos_token
decoder_input_ids = processor.tokenizer(
    task_prompt,
    add_special_tokens=False,
    return_tensors="pt"
).input_ids
# Load image
img_url = 'https://raw.githubusercontent.com/hoang-quoc-trung/sumen/main/assets/example_1.png'
image = Image.open(requests.get(img_url, stream=True).raw).convert('RGB')
pixel_values = processor.image_processor(
    image,
    return_tensors="pt",
    data_format="channels_first",
).pixel_values
# Generate LaTeX expression
with torch.no_grad():
    outputs = model.generate(
        pixel_values.to(device),
        decoder_input_ids=decoder_input_ids.to(device),
        max_length=model.decoder.config.max_length,
        pad_token_id=processor.tokenizer.pad_token_id,
        eos_token_id=processor.tokenizer.eos_token_id,
        use_cache=True,
        num_beams=4,
        bad_words_ids=[[processor.tokenizer.unk_token_id]],
        return_dict_in_generate=True,
    )
sequence = processor.tokenizer.batch_decode(outputs.sequences)[0]
sequence = sequence.replace(
        processor.tokenizer.eos_token, ""
    ).replace(
        processor.tokenizer.pad_token, ""
    ).replace(processor.tokenizer.bos_token,"")
print(sequence)

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей