视觉/图像重磅干货,第一时间送达
导读
本文主要介绍Windows C++编译Paddle推理库(Inference Library)可能遇到的一些问题和解决方法,让需要的人减少爬坑时间。
背景介绍
PaddlePaddle官方已经提供了Release版本的推理库libpaddle_infer.lib/dll,可以直接在这里下载:
https://www.paddlepaddle.org.cn/documentation/docs/en/2.0/guides/05_inference_deployment/inference/windows_cpp_inference_en.html
之所以要自己编译是因为有朋友在使用PaddleOCR时,需要将其中的功能整合到自己的项目中调试,只有Release版本调试很不方便,所以笔者就按照官方的方法做了尝试,具体爬坑记录如下。
可能遇到的问题与解决方法
我的环境与版本信息:
Win10 64bit, VS2017, CMake 3.16, CUDA10.0, Paddle-Release-2.0
【1】CMake需要将ON_INFER和WITH_GPU勾选,其他默认即可,警告忽略。
【2】打开paddle.sln不要直接运行生成ALL_BUILD
否则会报一大堆错,提示缺各种头文件之类:
先生成third_party这个项目,生成第三方库所需要的文件
如果网速不好,可能会导致一些包下载失败,常见的下面三个,自己按照错误提示对应的网址,手动下载,然后copy到对应路径下
然后修改CMAKE文件,这样下次就不会去网络下载,而是直接用我们下载好的文件
有可能还会有失败情况,比如下面这样,就单独CMake编译这个项目即可
【3】编译fluid_lib_dist这个项目,可能会遇到这两个问题:
① 内存不足
② fatal error C1060:编译器的堆空间不足
此时,没有意外的话,在x64 Release模式下就可以生成与官方提供的一样的目录和库文件了。
此加入到PaddleOCR中测试,一切正常,具体步骤可参考下面文章:
C++ | PaddleOCR GPU版使用步骤与测试时间对比(相对CPU)
但是,切换到x64 Debug版本编译时,错误又来了!!!
其实就是一些lib文件不符合要求,需要Debug版本,但是里面还有Release版本的,太难找了,几百个,头疼!!
到PaddlePaddle Github反应,得到的答案是暂不支持Debug版本编译!!原地裂开,爬坑到此结束!所以,你要想编译Debug版本的,暂时先放弃吧!
好友评论:中国的版本不支持调试,请直接落地!!!
—THE END—