PaddleX安装调试、打包、避坑一条龙教程@
PaddleX安装、调试、打包、避坑一条龙教程
这几天在学习深度学习,发现百度的PaddleX 简单容易上手,就学习、安装一下现将有关记录如下:
一、搞清paddle_inference 与paddleX 的关系
paddle_inference 是推理的基础库,飞桨所的库底层都是paddle_inference ,所以安装paddle_inference 是第一步。
二、本次实验所用的软件
二、软件安装
大家参考这个教程前半部就可以安装
链接: PaddleX 在windows10使用paddle_inference部署C#打包dll全教程
需注意的问题
一是自己GPU版本的确定。
二是安装软件一定要配套, opencv的上版本可以升级到4.55
三是用cmake 软件那几个路径的问题一定要设置对,不然很容易出问题
检测安装是不是正确:
在cmd输入nvcc -V,可以看到,CUDA10.2配置成功:
二、生成自己的model备用
需要的软件PaddleX_GUI_2.1.0_win10.rar
教程:链接: link
注意:生的model 如果版本低 需要转换,高版本不需要,
命令(需安装phthon)
paddlex --export_inference --model_dir=E:\inference_model/ --save_dir=E:\inference_model\inference_model
三、DLL文件生成
参考教程: link
成功结果样式
注意:1、如果是生成DLL 有个文件一定要替换的,就是用
…\PaddleX-develop\deploy\cpp\docs\csharp_deploy \model_infer.cpp 替换生成的工程文件的model_infer.cpp
2、cmakelist 文件121 行有一个地方要改
add_library(model_infer SHARED model_infer.cpp ${SRC} ${ENGINE_SRC} ${DETECTOR_SRC} ${ENCRYPTION_SRC})
四、DLL引用
这个教程比较多,注意的
一是:onnxruntime.dll 后、paddle2onnx.dll 这两DLL一定要放进去,原 生成文件夹没有,不然会出错,说什么内存出错。
二是初始化第一个参数:“paddlex”,费很长时间才发现,如果用别的参数会出错。px.Init_Model(“paddlex”, “model/model.pdmodel”, “model/model.pdiparams”, “model/model.yml”, FALSE, 0, paddlex_model_type);
三是注意引用方式
//extern “C” __declspec(dllimport) void InitModel(const char* model_type, const char* model_filename, const char* params_filename, const char* cfg_file, bool use_gpu, int gpu_id, char* paddlex_model_type);
//extern “C” __declspec(dllexport) void Det_ModelPredict(const unsigned char* img, int nWidth, int nHeight, int nChannel, float* output, int* nBoxesNum, char* LabelList);
四、成功的样式
注意要安装 framework5.0