Pregunta

Estoy haciendo OCR usando Tesseract en un procesador de cuatro núcleos. Para una mejor velocidad, quiero leer 4 palabras a la vez, usando 4 hilos. ¿Es seguro llamar a Tesseract de múltiples hilos simultáneamente?

NOTA: Cada hilo funcionará en una imagen diferente no compartida.

Nota: La protección con cerraduras no está bien debido a la velocidad.

¿Fue útil?

Solución

No creo que Tesseract sea actualmente paralelable (ver este hilo), aunque uno de los Los objetivos principales para v3.0 es hacerlo más seguro.

Sin embargo, siempre puedes paralelizar corriendo norte concurrente procesos de Tesseract. Si desea paralelizar la occión de una sola imagen, dependería de usted dividirlo y alimentar cada parte a cada uno de estos norte Procesos (básicamente una MapReduce).

Otros consejos

De las notas de la versión, Tesseract es (en su mayoría, y en la medida en que describe que necesita) a la vista del hilo a la 3.01 (21 de octubre de 2011)

Hilo-seguridad! Movió todos los globales y estadísticas críticas a los miembros de la clase apropiada. Tesseract ahora es a prueba de subprocesos (se pueden usar varias instancias en paralelo en múltiples hilos). Con la excepción menor de que algunos parámetros de control siguen siendo globales y afectan todos los hilos.

Lo he estado usando con éxito en múltiples núcleos durante tanto tiempo (o más tiempo, de Dev Branch).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top