【问题标题】:Speeding up Tesseract with OpenCL使用 OpenCL 加速 Tesseract
【发布时间】:2016-02-18 20:18:03
【问题描述】:

我从源代码构建了 Tesseract,并启用了 OpenCL 选项,以加快执行 GetUTF8Text() 所需的时间。我按照以下步骤操作:

cd tesseract-3.03/
./autogen.sh
CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure --enable-opencl
make 
sudo make install 

但是,当我运行使用 Tesseract 的代码时,与使用未启用 OpenCL 选项构建的 Tesseract 相比,我无法体验到任何加速。 我在这里错过了什么吗?我应该对 Tesseract 源代码进行一些更改吗?

【问题讨论】:

  • 您期望加速多少?谁说会有加速,他们告诉你加速是多少?你能指出你的消息来源吗?我的意思是有没有网站或博客文章说“在 OpenCL 下编译使 Tesseract 快十倍”。
  • 它说它会加速 Tesseract 多少?我不会阅读整篇文章,我假设您已经阅读了它,所以只需引用其中涉及预期加速的部分,我将使用 Ctrl+F 找到它。
  • “总时间也得到了改善。12.18 到 21.95 意味着启用 OpenCL 支持后,OCR 一页的时间减少了 44%。”以上是在 Linux 机器上使用 Tesseract 和 OpenCL 后的输出。
  • 好吧,它们也暗示并非所有显卡型号都支持 OpenCL。我假设您已经检查过您的模型是否支持它?相关引用是:“根据英特尔网页,此显卡受其 OpenCL 包支持”。

标签: c++ opencl tesseract


【解决方案1】:

我遇到了同样的问题。我能够确定我的设备是否与此代码 answer 兼容 OpenCL。

如果您的设备不兼容 OpenCL,上述代码将返回(空)分数以及分析时间。

此外,您确保克隆了最新版本的 tesseract (3.04.00) 源代码,因为他们可能已经修复了您在其最新版本中遇到的错误。

【讨论】:

    【解决方案2】:

    无论如何,我不确定 OpenCL 是否会加速 tesseract:

    这里有一些快速测试,使用 nvidia opencl 驱动程序、amd opencl 驱动程序(通过 CPU)和本机 tesseract 处理器。

    [DS] Device[1] 1:GeForce GTX 960 score is 0.140693
    [DS] Device[2] 1:AMD FX(tm)-8350 Eight-Core Processor score is 0.751782
    [DS] Device[3] 0:(null) score is 0.891833
    
    
    [DS] Selected Device[1]: "GeForce GTX 960" (OpenCL)
    real    0m3.385s
    user    0m2.872s
    sys     0m0.476s
    
    [DS] Overridden Device[2]: "AMD FX(tm)-8350 Eight-Core Processor" (OpenCL)
    real    0m3.581s
    user    0m6.700s
    sys     0m0.188s
    
    [DS] Overridden Device[3]: "(null)" (Native)
    real    0m3.307s
    user    0m3.144s
    sys     0m0.160s
    

    【讨论】:

      【解决方案3】:

      您可能没有合适的董事会。看看所有OpenCL conformant boards

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-05
        • 1970-01-01
        • 1970-01-01
        • 2017-11-03
        • 2015-11-06
        • 1970-01-01
        • 2015-12-14
        • 2020-04-08
        相关资源
        最近更新 更多