Paddle推理库(Inference Library)编译爬坑记 C++ GPU版


Paddle推理库(Inference Library)编译爬坑记 C++ GPU版【看完编译畅通无阻】

导读

本文主要介绍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这个项目,可能会遇到这两个问题:

① 内存不足

图片

参考此链接解决:

https://blog.csdn.net/info_black_hole/article/details/103273471

② fatal error C1060:编译器的堆空间不足

图片

参考此链接解决:

https://blog.csdn.net/zyhse/article/details/117417484

此时,没有意外的话,在x64 Release模式下就可以生成与官方提供的一样的目录和库文件了。

图片

此加入到PaddleOCR中测试,一切正常,具体步骤可参考下面文章:

C++ | PaddleOCR GPU版使用步骤与测试时间对比(相对CPU)

但是,切换到x64 Debug版本编译时,错误又来了!!!

图片

其实就是一些lib文件不符合要求,需要Debug版本,但是里面还有Release版本的,太难找了,几百个,头疼!!

到PaddlePaddle Github反应,得到的答案是暂不支持Debug版本编译!!原地裂开,爬坑到此结束!所以,你要想编译Debug版本的,暂时先放弃吧!

图片

好友评论:中国的版本不支持调试,请直接落地!!!
————————————————
版权声明:本文为CSDN博主「Color Space」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/stq054188/article/details/121370152