/ Модель

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

Контекст
1 024 токена
Лицензия
MIT
Архитектура
florence2 · dense
Базовая модель
Florence-2-large-ft
Опубликована
24 июн 2024

Florence-2-large-TableDetection

Генерация текстаТекст → текст8 профессий

Дообученная Florence-2-large модель для обнаружения таблиц и предсказания их рамок на изображениях по текстовому запросу.

100скачиваний за 30 дней19лайковвеса обновлены26 июн 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Florence-2-large-TableDetection — мультимодальная модель обнаружения таблиц на изображениях, созданная ucsahin дообучением microsoft/Florence-2-large-ft на выборке ucsahin/pubtables-detection-1500-samples. Она принимает изображение и текстовый запрос и предсказывает ограничивающие рамки таблиц. Модель предназначена для автоматизации поиска таблиц в документах и изображениях перед извлечением данных или дальнейшим анализом.

Модель основана на архитектуре Florence-2 и распространяется в формате safetensors. В README приведён результат Loss 0.7601 на оценочной выборке; этот показатель сам по себе не описывает точность обнаружения и зависит от протокола оценки. Лицензия — MIT. Для загрузки в Transformers README указывает необходимость trust_remote_code=True.

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

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

Ограничения

В README приведён только loss 0.7601 без описания метрики точности или подробного протокола оценки. Для загрузки через Transformers требуется trust_remote_code=True.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

Florence-2-large-TableDetection

This model is a fine-tuned version of microsoft/Florence-2-large-ft on ucsahin/pubtables-detection-1500-samples dataset. It achieves the following results on the evaluation set:

  • Loss: 0.7601

microsoft/Florence-2-large-ft can detect various objects in zero-shot setting with the task prompt "<OD>". Please check Florence-2-large sample inference for how to use Florence-2 model in inference. However, the ft-base model is not able to detect tables on a given image.

The following Colab notebook showcases how you can finetune the model with your custom data to detect objects.

Florence2-Object Detection-Finetuning-HF-Trainer.ipynb

Model description

  • This model is a multimodal language model fine-tuned for the task of detecting tables in images given textual prompts. The model utilizes a combination of image and text inputs to predict bounding boxes around tables within the provided images.
  • The primary purpose of this model is to assist in automating the process of table detection within images. It can be utilized in various applications such as document processing, data extraction, and image analysis, where identifying tables within images is essential.

How to Get Started with the Model

In Transformers, you can load the model and inference as follows: (Note that trust_remote_code=True is needed to run the model. It will only download the external custom codes from the original HuggingFaceM4/Florence-2-DocVQA.)

from transformers import AutoProcessor, AutoModelForCausalLM
import matplotlib.pyplot as plt
import matplotlib.patches as patches

model_id = "ucsahin/Florence-2-large-TableDetection"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True, device_map="cuda") # load the model on GPU
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)

def run_example(task_prompt, image, max_new_tokens=128):
    prompt = task_prompt
    inputs = processor(text=prompt, images=image, return_tensors="pt")
    generated_ids = model.generate(
      input_ids=inputs["input_ids"].cuda(),
      pixel_values=inputs["pixel_values"].cuda(),
      max_new_tokens=max_new_tokens,
      early_stopping=False,
      do_sample=False,
      num_beams=3,
    )
    generated_text = processor.batch_decode(generated_ids, skip_special_tokens=False)[0]
    parsed_answer = processor.post_process_generation(
        generated_text,
        task=task_prompt,
        image_size=(image.width, image.height)
    )
    return parsed_answer

def plot_bbox(image, data):
   # Create a figure and axes
    fig, ax = plt.subplots()
    # Display the image
    ax.imshow(image)
    # Plot each bounding box
    for bbox, label in zip(data['bboxes'], data['labels']):
        # Unpack the bounding box coordinates
        x1, y1, x2, y2 = bbox
        # Create a Rectangle patch
        rect = patches.Rectangle((x1, y1), x2-x1, y2-y1, linewidth=1, edgecolor='r', facecolor='none')
        # Add the rectangle to the Axes
        ax.add_patch(rect)
        # Annotate the label
        plt.text(x1, y1, label, color='white', fontsize=8, bbox=dict(facecolor='red', alpha=0.5))
    # Remove the axis ticks and labels
    ax.axis('off')
    # Show the plot
    plt.show()

########### Inference
from datasets import load_dataset

dataset = load_dataset("ucsahin/pubtables-detection-1500-samples")

example_id = 5
image = dataset["train"][example_id]["image"]

parsed_answer = run_example("<OD>", image=image)
plot_bbox(image, parsed_answer["<OD>"])

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 1e-06
  • train_batch_size: 8
  • eval_batch_size: 8
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • num_epochs: 10

Training results

Training LossEpochStepValidation Loss
1.31991.01691.0372
0.79222.03380.9169
0.68243.05070.8411
0.61094.06760.8168
0.57525.08450.7915
0.56056.010140.7862
0.52917.011830.7740
0.5178.013520.7683
0.51399.015210.7642
0.500510.016900.7601

Framework versions

  • Transformers 4.42.0.dev0
  • Pytorch 2.3.0+cu121
  • Datasets 2.20.0
  • Tokenizers 0.19.1

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
Florence2ForConditionalGeneration
Ревизия весов
81a3d24

0 моделей