paddle推理部署(gpu)
有可能,我是说有可能,include和lib找不到,需要paddle_inference_install_dir文件夹下所有的东西,有可能,我是说有可能,include和lib找不到,需要paddle_inference_install_dir文件夹下所有的东西,因为,你自己看一下vs的项目属性,下面cmake之后,给你生成的项目附加库目录什么的,都不对。因为,你自己看一下vs的项目属性,下面cm
我没按照官方文档去做,吐槽一下,官方文档有点混乱。。
一、概述
总结起来,就是用c++示例代码,用一个模型做推理。
二、示例代码下载
https://www.paddlepaddle.org.cn/paddle/paddleinference
https://github.com/PaddlePaddle/Paddle-Inference-Demo
我下载到了磁盘,并解压,如下图:
三、推理库下载
四、示例模型
点击上图中的ResNet50,就可以下载这个模型。
五、整理文件夹
预测库paddle_inference目录(如解压后的目录名称不同,也需重命名为paddle_inference)拷贝至Paddle-Inference-Demo/c++/lib目录下
模型目录resnet50目录,拷贝至Paddle-Inference-Demo/c++/cpu/resnet50目录下
Paddle-Inference-Demo-master\c++\lib下的CMakeLists.txt,拷贝到Paddle-Inference-Demo-master\c++\cpu\resnet50下面
有可能,我是说有可能,include和lib找不到,需要paddle_inference_install_dir文件夹下所有的东西,移动到跟他平级。
因为,你自己看一下vs的项目属性,下面cmake之后,给你生成的项目附加库目录什么的,都不对。
注意,最近“paddle_inference_install_dir”文件夹没有了
六、CMAKE
那个build文件夹,是我新建的
DEMO_NAME和 PADDLE_LIB是我增加的。
cmake后,会得到
进入vs,在release下,生成可执行文件:
七、测试一下
你缺很多dll,甚至可能导致程序崩溃,却不提示你缺dll
这下面,dll很多,尽量多弄过来!
像我这样,如下图
我干脆把神经网络模型,拷贝到Release目录下了
我执行
resnet50_test --model_file resnet50\inference.pdmodel --params_file resnet50\inference.pdiparams
八、可能缺tensorrt
如果你搞的是GPU的部署,则需要tensorrt相关库。
否则会在执行的时候,命令行里有tensorrt的警告。
就去这个网站下载吧。
https://developer.nvidia.com/nvidia-tensorrt-download
这里我下载的是 TensorRT-8.2.1.8.Windows10.x86_64.cuda-11.4.cudnn8.2.zip,解压后,bin 目录加入到系统环境变量 PATH 中
同时将 lib 文件夹下的*.dll和*.lib文件分别拷贝到 cuda 安装目录下的 bin 文件夹与lib/x64下,我这里是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\lib\x64
操作如下图:
我没按照官方文档去做,吐槽一下,官方文档有点混乱。。
一、概述
总结起来,就是用c++示例代码,用一个模型做推理。
二、示例代码下载
https://www.paddlepaddle.org.cn/paddle/paddleinference
https://github.com/PaddlePaddle/Paddle-Inference-Demo
我下载到了磁盘,并解压,如下图:
三、推理库下载
四、示例模型
点击上图中的ResNet50,就可以下载这个模型。
五、整理文件夹
预测库paddle_inference目录(如解压后的目录名称不同,也需重命名为paddle_inference)拷贝至Paddle-Inference-Demo/c++/lib目录下
模型目录resnet50目录,拷贝至Paddle-Inference-Demo/c++/cpu/resnet50目录下
Paddle-Inference-Demo-master\c++\lib下的CMakeLists.txt,拷贝到Paddle-Inference-Demo-master\c++\pu\resnet50下面
有可能,我是说有可能,include和lib找不到,需要paddle_inference_install_dir文件夹下所有的东西,移动到跟他平级。
因为,你自己看一下vs的项目属性,下面cmake之后,给你生成的项目附加库目录什么的,都不对。
注意,最近“paddle_inference_install_dir”文件夹没有了
六、CMAKE
那个build文件夹,是我新建的
DEMO_NAME和 PADDLE_LIB是我增加的。
勾选USE_TENSORRT并填写TENSORRT路径,此处我是把TENSORRT放在了D:\tmp\TensorRT-8.5.3.1.Windows10.x86_64.cuda-11.8.cudnn8.6\TensorRT-8.5.3.1路径下,不填写会报错无法cmake
cmake后,会得到
进入vs,在release下,生成可执行文件:
七、测试一下
你缺很多dll,甚至可能导致程序崩溃,却不提示你缺dll
这下面,dll很多,尽量多弄过来!
像我这样,如下图
我干脆把神经网络模型,拷贝到Release目录下了
我执行
resnet50_test --model_file resnet50\inference.pdmodel --params_file resnet50\inference.pdiparams
八、可能缺tensorrt
当前搞的是GPU的部署,则需要tensorrt相关库。
否则会在执行的时候,命令行里有tensorrt的警告。
就去这个网站下载吧。
https://developer.nvidia.com/nvidia-tensorrt-download
这里我下载的是 TensorRT-8.2.1.8.Windows10.x86_64.cuda-11.4.cudnn8.2.zip,解压后,bin 目录加入到系统环境变量 PATH 中
同时将 lib 文件夹下的*.dll和*.lib文件分别拷贝到 cuda 安装目录下的 bin 文件夹与lib/x64下,我这里是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\lib\x64
操作如下图:
此处会有一些坑:
(1)cudnn缺失,cudnn和cuda版本对应及下载地址https://developer.nvidia.com/rdp/cudnn-archive#a-collapse742-10,cudnn下载好之后解压出来是三个文件夹,把三个文件夹中的文件对应拷贝进cuda安装目录中对应的路径中即可
(1)提示tensorrt路径下缺失某些lib文件和dll,cudnn和cuda版本对应及下载地址https://developer.nvidia.com/rdp/cudnn-archive#a-collapse742-10,cudnn下载好之后解压出来是三个文件夹,把三个文件夹中的文件对应拷贝进cuda安装目录中对应的路径中即可
更多推荐
所有评论(0)