首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gnu并行与多处理

gnu并行与多处理
EN

Stack Overflow用户
提问于 2019-09-18 12:54:49
回答 2查看 880关注 0票数 2

multiprocessing模块和GNU并行有什么区别?另外,如果使用不同,哪种情况下是最理想的。

我试图对tesseract进行并行化,并发现有人建议在tesseract问题上使用GNU并行 这里

我想了解,在使用一个用例之前,哪一个是理想的用例。

而且,我无法从gnu并行中获得所需的结果,我可以看到4个进程在top中运行,但它们比python花费的时间要长得多。

1)用于gnu-并行:

这里所见,所需时间为8分40分

我使用以下命令:

代码语言:javascript
复制
ls image*.jpg | time parallel tesseract {} stdout -l hin

顶部输出这里

2)使用多页特性的普通Tesseract .

代码语言:javascript
复制
$ time tesseract imagelist.txt stdout -l hin

速度可以看到这里

3)基于多处理的

使速度增加到大约4-5秒。

我的pdf可以找到这里

我使用convert_from_path from pdf2imageconvert from imagemagickpdf转换为imagepngjpeg

EN

回答 2

Stack Overflow用户

发布于 2019-09-18 13:03:46

在python多处理中,您可以在进程之间进行通信。但是你有同步的成本。gnu pararell使用不同的参数多次运行命令。然后,在其他过程中需要聚合结果。

票数 0
EN

Stack Overflow用户

发布于 2022-04-09 22:45:51

本文分析了这个问题:https://github.com/tesseract-ocr/tesseract/issues/3109

解决方案:

代码语言:javascript
复制
export OMP_THREAD_LIMIT=1

在并行运行tesseract之前。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57993330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档