0
私は複数のtesseractインスタンスを並列に起動するためにmultiproccesingライブラリを使用するPythonスクリプトを作成しています。 私はtesseractへの複数の呼び出しを使用するが、ループを使用してシーケンスで動作します。ただし、すべてのコードを並列化しようとするとうまく見えますが、結果が得られません(10分間待っています)。複数のtesseractインスタンスを並列処理して、結果を返さないマルチプロセスを使用しています
私のコードでは、元の複数ページのPDFから複数のPDFページを分割した後に、そのPDFページをOcrizeしようとしています。ここで
は私のコードです:
def processPage(i):
nameJPG="converted-"+str(i)+".jpg"
nameHocr="converted-"+str(i)
p=subprocess.check_call(["tesseract",nameJPG,nameHocr,"-l","eng","hocr"])
print "tesseract did the job for the ",str(i+1),"page"
pool1=Pool(4)
pool1.map(processPage, range(len(pdf.pages)))
いや、どちらか.INの事実を動作しません、問題がたTesseract自体に問題を閉じる過程ではない:私は一人でそれを起動した場合でも、私は、PDFのページに対してrunning.Normally私のCPUの300%を持っていますそれは10秒かかる。今は停止せずに実行し続ける – hamma
'Pool'プロセスなしで' subprocess'自身を介してそれを呼び出そうとしましたか? – noxdafox
私の問題には解決策はないと思います。私は2つの別々の端末からでも2つのtesseract(pdfからテキストを抽出する)を起動しました。結果は得られません。 – hamma