Начало работы

Установка

Базовая установка (для запуска моделей)

pip install "manuscript-ocr[cpu]"

Базовая установка (pip install manuscript-ocr) содержит общие компоненты без среды выполнения моделей. Выберите [cpu], [gpu] или [web]. Для TrOCR дополнительно нужен [trocr], например [cpu,trocr].

Ускорение на GPU (NVIDIA CUDA)

При переходе с CPU сначала удалите onnxruntime, затем установите вариант для GPU:

pip uninstall onnxruntime
pip install "manuscript-ocr[gpu]"

Если библиотеки CUDA/cuDNN ещё не установлены, выполните также:

pip install "onnxruntime-gpu[cuda,cudnn]"

Если работаете в ноутбуке, после установки перезапустите ядро.

Для декодирования TrOCR на устройстве установите manuscript-ocr[gpu,trocr-cuda] и сборку PyTorch с CUDA. ONNX Runtime должен поддерживать экспорт DLPack; эта возможность есть не во всех CPU- и GPU-wheel. Требования и поведение при отсутствии поддержки описаны в CUDA-декодирование TrOCR.

Браузерный инференс использует runtime="web" и мост ONNX Runtime Web, предоставляемый страницей; установка [web] сама по себе не настраивает мост. Инструкции и браузерную демонстрацию см. в docs/WEB_RUNTIME.md и scripts/browser_probe/README.md репозитория.

Устройство задаётся параметром device у каждой модели: device="cuda" для NVIDIA GPU или device="cpu" для CPU:

from manuscript.detectors import EAST
from manuscript.recognizers import TRBA
from manuscript.correctors import CharLM

detector = EAST(device="cuda")
recognizer = TRBA(device="cuda")
corrector = CharLM(device="cuda")

Быстрый старт

Простой пример:

from manuscript import Pipeline

# Create pipeline
pipeline = Pipeline()

# Process image
result = pipeline.predict("document.jpg")

# Get recognized text
text = pipeline.get_text(result["page"])
print(text)

Настройка этапов, пользовательские обработчики, ансамбли и работа с результатами описаны в Руководство по использованию Pipeline.

Примеры в ноутбуках

Ноутбуки для версии 0.1.13:

Дополнительные варианты установки

Ускорение на Apple Silicon (CoreML)

pip install "manuscript-ocr[cpu]"

Официальные пакеты onnxruntime для macOS включают провайдер CoreML; отдельный пакет onnxruntime-silicon не нужен. Задайте device="coreml" для нужных моделей или компонентов пайплайна. См. документацию ONNX Runtime по CoreML.

Установка с поддержкой обучения

pip install "manuscript-ocr[cpu,dev]"

Будут установлены дополнительные зависимости для обучения моделей:

  • PyTorch и TorchVision

  • Инструменты экспорта ONNX

  • Утилиты для обучения (albumentations, TensorBoard и др.)

  • Инструменты разработки (pytest, black, flake8 и др.)

Минимальные системные требования

  • Python 3.9.2 или новее

  • Linux (Ubuntu 20.04+), Windows 10+ или macOS 11+

  • не менее 2 ядер CPU

  • не менее 8 ГБ оперативной памяти

  • для обучения моделей рекомендуется 16 ГБ оперативной памяти или больше

  • для ускорения вычислений рекомендуется NVIDIA GPU с поддержкой CUDA

  • для запуска на GPU рекомендуется не менее 4 ГБ видеопамяти

Библиотека работает и на CPU, но обычно медленнее, чем на GPU. Для обучения рекомендуется NVIDIA GPU с CUDA. Если CUDA недоступна, обучение выполняется на CPU.