0

我正在尝试让 tesserocr python 库在 4 个内核上运行。根据 tesseract 文档,我知道它最多支持 4 个内核。我在具有 8 个 vCPU 的 c4.x2large 实例上的 AWS Batch(基于 amazonlinux:latest 映像的 docker 容器)内运行了一个 tesserocr python3.x 作业,所有这些作业在提交时都分配给了批处理作业。

基准测试显示 CPU 最高为 30%,即 2.5 个 vCPU,即大约 1.25 个物理内核(每个 2 个 vCPU 大约是 1 个物理内核)。

我也尝试过 OMP_NUM_THREADS=4, OMP_THREAD_LIMIT=4 环境变量(基于一些在线论坛),但没有任何值对性能有任何影响。

如何 tesserocr 扩展到所有 4 个内核(8 个 vCPU)?

4

1 回答 1

0

Python 线程与 vCPU / 内核不是 1:1 的。

如果你查看一个c4.x2large实例的规格,它说每个核心最多可以运行 2 个线程。那台机器有 8 个 vCPU。

潜在地使用所有 8 个 vCPU,您可以尝试设置OMP_NUM_THREADS=16, OMP_THREAD_LIMIT=16. 然而,底层tesserocr的实现方式将对它在机器环境中的扩展程度产生巨大影响。

于 2018-12-19T21:34:50.063 回答