Windows 平台下,我们使用Visual Studio 2019 Community 进行了测试。微软从Visual Studio 2017开始即支持直接管理CMake跨平台编译项目,但是直到2019才提供了稳定和完全的支持,所以如果你想使用CMake管理项目编译构建,我们推荐你使用Visual Studio 2019环境下构建。
说明:PaddleX安装请参考PaddleX , OpenVINO安装请参考OpenVINO-Windows
注意:安装完OpenVINO后需要手动添加OpenVINO目录到系统环境变量,否则在运行程序时会出现找不到dll的情况。以安装OpenVINO时不改变OpenVINO安装目录情况下为示例,流程如下
C:\Program File (x86)\IntelSWTools\openvino\inference_engine\bin\intel64\ReleaseC:\Program File (x86)\IntelSWTools\openvino\inference_engine\external\tbb\binC:\Program File (x86)\IntelSWTools\openvino\deployment_tools\ngraph\lib请确保系统已经安装好上述基本软件,并配置好相应环境,下面所有示例以工作目录为 D:\projects演示。
文档提供了c++下预测部署的方法,如果需要在python下预测部署请参考python预测部署
d:
mkdir projects
cd projects
git clone https://github.com/PaddlePaddle/PaddleX.git
说明:其中C++预测代码在PaddleX\deploy\openvino 目录,该目录不依赖任何PaddleX下其他目录。
提供了依赖软件预编译库:
D:\projects\opencv\build\x64\vc14\bin继续但无需代码文件->打开->CMake 选择C++预测代码所在路径(例如D:\projects\PaddleX\deploy\openvino),并打开CMakeList.txt:项目->CMake设置浏览,分别设置编译选项指定OpenVINO、Gflags、GLOG、NGRAPH、OPENCV的路径| 参数名 | 含义 |
|---|---|
| OPENCV_DIR | opencv库路径 |
| OPENVINO_DIR | OpenVINO推理库路径,在OpenVINO安装目录下的deployment/inference_engine目录,若未修改OpenVINO默认安装目录可以不用修改 |
| NGRAPH_LIB | OpenVINO的ngraph库路径,在OpenVINO安装目录下的deployment/ngraph/lib目录,若未修改OpenVINO默认安装目录可以不用修改 |
| GFLAGS_DIR | gflags库路径 |
| GLOG_DIR | glog库路径 |
| WITH_STATIC_LIB | 是否静态编译,默认为True |
设置完成后, 点击保存并生成CMake缓存以加载变量。
点击生成->全部生成
上述Visual Studio 2019编译产出的可执行文件在out\build\x64-Release目录下,打开cmd,并切换到该目录:
D:
cd D:\projects\PaddleX\deploy\openvino\out\build\x64-Release
detector.exe,classifier.exe,用户可根据自己的模型类型选择,其主要命令参数说明如下:| 参数 | 说明 |
|---|---|
| --model_dir | 模型转换生成的.xml文件路径,请保证模型转换生成的三个文件在同一路径下 |
| --image | 要预测的图片文件路径 |
| --image_list | 按行存储图片路径的.txt文件 |
| --device | 运行的平台,可选项{"CPU","MYRIAD"},默认值为"CPU",如在VPU上请使用"MYRIAD" |
| --cfg_file | PaddleX model 的.yml配置文件 |
| --save_dir | 可视化结果图片保存地址,仅适用于检测任务,默认值为" "既不保存可视化结果 |
样例一:
在CPU下做单张图片的分类任务预测
测试图片 /path/to/test_img.jpeg
./classifier.exe --model_dir=/path/to/openvino_model --image=/path/to/test_img.jpeg --cfg_file=/path/to/PadlleX_model.yml
样例二:
在CPU下做多张图片的检测任务预测,并保存预测可视化结果
预测多个图片/path/to/image_list.txt,image_list.txt内容的格式如下:
/path/to/images/test_img1.jpeg
/path/to/images/test_img2.jpeg
...
/path/to/images/test_imgn.jpeg
./detector.exe --model_dir=/path/to/models/openvino_model --image_list=/root/projects/images_list.txt --cfg_file=/path/to/PadlleX_model.yml --save_dir ./output
样例三:
在VPU下做单张图片分类任务预测
测试图片 /path/to/test_img.jpeg
.classifier.exe --model_dir=/path/to/openvino_model --image=/path/to/test_img.jpeg --cfg_file=/path/to/PadlleX_model.yml --device=MYRIAD