2011-01-28 19 views
5

मैं एक क्वाड-कोर प्रोसेसर पर टेसेरैक्ट का उपयोग कर ओसीआर कर रहा हूं। बेहतर गति के लिए, मैं 4 धागे का उपयोग करके एक समय में 4 शब्द पढ़ना चाहता हूं। क्या टेसरेक्ट को कई धागे से एक साथ कॉल करना सुरक्षित है?टेस्सेरैक्ट (एक ओसीआर इंजन) पुनर्वित्त है?

नोट: प्रत्येक धागा एक अलग, गैर-साझा छवि पर काम करेगा।

नोट: ताले के साथ गार्डिंग गति की वजह से ठीक नहीं है।

+1

कोड पुनर्वित्त के बिना थ्रेड-सुरक्षित हो सकता है। ऐसा लगता है जैसे आप थ्रेड-सुरक्षा चाहते हैं, जरूरी नहीं कि पुनर्वितरण। –

+0

हां, इसे ताले का उपयोग करके थ्रेड-सुरक्षित बनाया जा सकता है, लेकिन मुझे गति की वजह से पुनर्विक्रय होने की आवश्यकता है। कोड समानांतर में निष्पादित करना चाहिए। –

उत्तर

3

मुझे नहीं लगता कि टेसरेक्ट वर्तमान में समांतर है (this thread देखें), हालांकि main goals for v3.0 is to make it more thread-safe में से एक है।

हालांकि, आप कभी n समवर्ती प्रक्रियाओं Tesseract की चलाकर parallelize सकता है। यदि आप एक छवि के ओसीआरिंग को समानांतर करना चाहते हैं, तो यह आपके लिए विभाजित होगा और प्रत्येक भाग को इन n प्रक्रियाओं (मूल रूप से मैप्रिडस) में प्रत्येक को खिलाएगा।

+0

प्रक्रियाओं के साथ समांतरता बहुत कठिन होगी ... मेरे पास एक प्रक्रिया है जो एक समय में कई अलग-अलग छवियां उत्पन्न करती है। टेस्सेक्टैक्ट प्रक्रियाओं में इन छवियों को खिलााना संभव है और यह चाल करेगा, लेकिन मुझे प्रक्रियाओं से बात करने और इनपुट/आउटपुट भेजने और एकत्र करने के लिए एक तरीका चाहिए। –

+0

@Hristo: मुझे GeckoFX के साथ बिल्कुल वही समस्या थी और इसे टीपीएल + प्रॉक्सी के साथ हल किया गया: http://bugsquash.blogspot.com/2010/03/proxying-and-parallelizing-processes.html –

4

the release notes से, Tesseract (ज्यादातर, और डिग्री है कि आप की आवश्यकता होगी, वर्णन करने के लिए) है धागा सुरक्षित 3.01 के रूप में (अक्टूबर 21 2011)

थ्रेड-सुरक्षा! उचित वर्ग के सदस्यों को सभी महत्वपूर्ण ग्लोबल्स और स्टेटिक्स को हटा दिया। टेसेरैक्ट अब थ्रेड-सुरक्षित है (एकाधिक उदाहरण कई धागे में समानांतर में उपयोग किए जा सकते हैं।) नाबालिग अपवाद के साथ कि कुछ नियंत्रण पैरामीटर अभी भी वैश्विक हैं और सभी धागे को प्रभावित करते हैं।

मैं इसे लंबे समय तक (या लंबे, देव शाखा से) के लिए कई कोरों पर सफलतापूर्वक उपयोग कर रहा हूं।