他の投稿を読んで、3.00でマルチスレッドサポートを追加することを提案しました。しかし、それがリリースされたときに3.00で追加されたかどうかはわかりません。tesseract 3.00はマルチスレッドですか?
マルチスレッド以外では、複数のプロセスを並行処理を実現するための実現可能なオプションとして実行していますか?
ありがとうございました。
他の投稿を読んで、3.00でマルチスレッドサポートを追加することを提案しました。しかし、それがリリースされたときに3.00で追加されたかどうかはわかりません。tesseract 3.00はマルチスレッドですか?
マルチスレッド以外では、複数のプロセスを並行処理を実現するための実現可能なオプションとして実行していますか?
ありがとうございました。
いいえコードhttp://code.google.com/p/tesseract-ocr/source/browse/を参照してください。トランクの現在のコードのどれもマルチスレッドを利用していないようです。
私がしたことの1つは、マルチページシステムのためのマルチコアシステムで可能なものと同じくらい多くのTess *のインスタンスを実行するためにGNU Parallelが呼び出されたことです(これは基本クラス、API、単一ページ画像に変換された文書。
これは、ほとんどのLinuxディストリビューションで簡単にコンパイルされた短いプログラムです(私はOpenSuSE 11.4を使用しています)。
ここで私が使用するコマンドラインです:
/usr/local/bin/parallel -j 4 \
/usr/local/bin/tesseract -psm 1 -l eng {} {.} \
::: /tmp/tmp/*.jpg
-j 4私は、サーバー上で持っているすべての4つのCPUコアを使用するように並列に指示します。
これを実行し、別の端末で「トップ」を実行すると、指定されたディレクトリ内のすべてのJPGを拾うまで、一度に4つのプロセスが表示されます。
あなたの負荷は、(Linuxを実行している場合は)システムのCPUコアの数を超えてはいけません。ここで
はGNUパラレルへのリンクです:
私は、CentOSに上だけでなく、このようにparallel
を使用しました:
ls | parallel --gnu "tesseract {} {.}"
から提案されているよう私は--gnu
オプションを使用しましたstdoutログは次のとおりです。
parallel: Warning: YOU ARE USING --tollef. IF THINGS ARE ACTING WEIRD USE --gnu.
{}
と{.}
はparallelのプレースホルダです。この場合は、最初の引数としてリストされたファイルを使用するようにtesseractに指示し、2番目の引数として拡張子のない同じファイル名を使用します。言う - - あなたがしている場合
さて、3つの.tif
ファイルは、あなたが実行時間を合計し、tesseract
3回、各ファイルのいずれかを実行し、次にあなたがparallel
前time
で上記のコマンドを実行して、簡単に確認することができますスピードアップ。
[Tesseract(OCRエンジン)のリエントラントは可能ですか?](http://stackoverflow.com/questions/4827924/is-tesseractan-ocr-engine-reentrant) –