Что я делаю:
Компиляция tesseract из исходного кода с использованием docker и развертывание его как лямбда-слоя. Он используется другой лямбдой.
Вопрос
Согласно тессеракт-вики многопоточность должна быть отключена для массового производства:
Сборка по умолчаниюсоздает исполняемый файл Tesseract, который отлично подходит для обработки отдельных изображений. Затем Tesseract использует 4 ядра ЦП, чтобы получить результат распознавания как можно быстрее.
Для массового производства с сотнями или тысячами изображений это по умолчанию плохо, так как многопоточное выполнение имеет очень большие издержки. Лучше запускать однопоточные экземпляры Tesseract, чтобы каждое доступное ядро ЦП обрабатывало свой образ.
cd tesseract
./autogen.sh
mkdir -p bin/release
cd bin/release
../../configure --disable-openmp --disable-shared 'CXXFLAGS=-g -O2 -fno-math-errno -Wall -Wextra -Wpedantic'
# Build tesseract and training tools. Run `make` if you don't need the training tools.
make training
cd ../..
Поскольку Serverless автоматически создает новые экземпляры для обработки нагрузки, следует отключить многопоточность дляпроизводство