赞
踩
根据Paddle官方的描述,当前检测模型转换为openvino格式是有问题的,暂时只支持分割和分类模型,且openvino版本最好为2021.3(已经过测试,兼容性较好)。
Openvino 2021.3 下载地址
安装过程可以参照OpenVino官方安装步骤来一步步 安装 :
安装完毕后目录如下:
运行install.exe
安装推理组件后的目录:
由于目前Openvino只支持比较老的模型,这里以PaddleX训练的mobilenetv3_large模型为例,导出为推理格式模型paddle inference:
安装PaddleX后,执行以下命令进行模型导出:
paddlex --export_inference --model_dir=./output/deeplabv3p_r50vd/best_model/ --save_dir=./inference_model
将paddle inference模型转为onnx模型:
# model_dir需要ResNet50解压后的路径
paddle2onnx --model_dir E:/Fileresipority/cloth_check/mobilenetv3_large/inference_model/inference_model --model_filename model.pdmodel --params_filename model.pdiparams --save_file model.onnx --enable_dev_version True
转换后的目录:
git clone https://github.com/PaddlePaddle/PaddleX.git
1.在OpenCV官网下载适用于Windows平台的3.4.6版本下载链接
2.运行下载的可执行文件,将OpenCV解压至指定目录,例如D:\projects\opencv。
3.配置环境变量,如下流程所示:
我的电脑->属性->高级系统设置->环境变量
在系统变量中找到Path(如没有,自行创建),并双击编辑
新建,将opencv路径填入并保存,如E:\Fileresipority\cloth_check\OpenCV\opencv\build\x64\vc15\bin
在进行cmake构建时,会有相关提示,请注意vs2019的输出。
4.点击下载gflags依赖包,解压至deps目录
1.打开Visual Studio 2019 Community,点击继续但无需代码
2. 点击: 文件
->打开
->CMake
选择C++预测代码所在路径(例如E:\Fileresipority\cloth_check\PaddleX-develop\deploy\cpp
),并打开CMakeList.txt:
1.保险起见,把所有的值都设为"/"分隔的路径:
2.这里注意,我在其他文章看到说如果有下面这种报错:
就需要把OPENCV_DIR中的值改为"E:/Fileresipority/cloth_check/OpenCV/opencv/build/x64/vc15/bin"
。
而我是按照下面这样设置的,下面这样就能编译成功:
3. 需要GPU的勾选GPU:
4. 勾选OPENVINO:
设置完成后
, 点击上图中保存并生成CMake缓存以加载变量。然后我们可以看到vs的输出会打印CMake生成的过程,出现CMake 生成完毕且无报错代表生成完毕。严重性 代码 说明 项目 文件 行 禁止显示状态
错误 CMake Error at E:\Fileresipority\cloth_check\PaddleX-develop\deploy\cpp\CMakeLists.txt:73 (find_package):
Found package configuration file:
E:/Fileresipority/cloth_check/OpenCV/opencv/build/OpenCVConfig.cmake
but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND. PaddleDeploy E:\Fileresipority\cloth_check\PaddleX-develop\deploy\cpp\CMakeLists.txt 73
可以发现是由于OpenCVConfig.cmake文件中的
修改后重新生成,得到cmake生成完成表明生成成功:
生成成功后在E:\Fileresipority\cloth_check\PaddleX-develop\deploy\cpp\out\build\x64-Release
生成的目录如下:
生成
->全部生成
,生成demo里的可执行文件。发现如下报错:
定位到报错的model_infer.cpp文件中,发现是头文件路径错误,对照相关头文件的名称,在文件管理器中依次定位到文件所在位置:
然后对路径进行替换:
transform.h中的相关文件路径也要进行替换:
visualize.h中相关路径也需要更改:
接下来哪里出错,就修改哪个文件中这三行的路径就可以了:
#include <E:/Fileresipority/cloth_check/OpenCV/opencv/sources/modules/core/include/opencv2/core/core.hpp>
#include <E:/Fileresipority/cloth_check/OpenCV/opencv/sources/modules/highgui/include/opencv2/highgui/highgui.hpp>
#include <E:/Fileresipority/cloth_check/OpenCV/opencv/sources/modules/imgproc/include/opencv2/imgproc/imgproc.hpp>
其中core.hpp文件需要改为这里的.hpp文件:
core.h这里面的有问题的路径也要修改:
修改完毕后点击全部重新生成,仍然遇到报错:
相关问题正在与百度工程师交流,未完待续…
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。