Начало работы
Установка
Базовая установка (для запуска моделей)
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.