Является ли tesseract 3.00 многопоточным? - PullRequest
9 голосов
/ 11 февраля 2011

Я прочитал некоторые другие сообщения, предполагающие, что они добавят поддержку многопоточности в 3.00. Но я не уверен, было ли это добавлено в 3.00, когда это было выпущено.

Помимо многопоточности, выполняет ли несколько процессов tesseract возможный вариант для достижения параллелизма?

Спасибо.

Ответы [ 3 ]

8 голосов
/ 20 февраля 2012

Одна вещь, которую я сделал, - это вызов GNU Parallel для запуска как можно большего количества экземпляров Tess * в многоядерной системе для многостраничных документов, преобразованных в одностраничные изображения.

Это короткая программа, легко компилируемая на большинстве дистрибутивов Linux (я использую OpenSuSE 11.4).

Вот командная строка, которую я использую:

/usr/local/bin/parallel -j 4 \
   /usr/local/bin/tesseract -psm 1 -l eng {} {.} \
   ::: /tmp/tmp/*.jpg

Параметр -j 4 указывает параллельному использованию всех четырех процессорных ядер, имеющихся у меня на сервере.

Если вы запустите это, а в другом терминале сделаете «top», вы увидите до четырех процессов одновременно, пока он не перебирает все JPG в указанном каталоге.

Ваша нагрузка никогда не должна превышать количество ядер ЦП в вашей системе (если вы используете Linux).

Вот ссылка на GNU Parallel:

http://www.gnu.org/software/parallel/

5 голосов
/ 11 февраля 2011

Нет. Вы можете просмотреть код в http://code.google.com/p/tesseract-ocr/source/browse/ Ни один из текущего кода в транке, кажется, не использует многопоточность. (по крайней мере, просматривая базовые классы, API и классы нейронных сетей)

2 голосов
/ 08 января 2015

Я также использовал parallel на Centos, таким образом:

ls | parallel --gnu "tesseract {} {.}"

Я использовал опцию --gnu, как было предложено из журнала stdout:

parallel: Warning: YOU ARE USING --tollef. IF THINGS ARE ACTING WEIRD USE --gnu.

{} и {.} являются заполнителями для параллельных: в этом случае вы говорите tesseract использовать файл, указанный в качестве первого аргумента, и то же имя файла без расширения в качестве второго аргумента - все хорошо объясняется параллельно справочные страницы.

Теперь, если у вас есть, скажем, три .tif файла, и вы запускаете tesseract три раза, по одному для каждого файла, суммируя время выполнения, а затем вы запускаете команду выше с time перед parallel Вы можете легко проверить ускорение.

...