把PaddleX YOLOv3模型轉(zhuǎn)換為OpenVINO模型全流程如下:
第一步:安裝PaddleX,然后完成YOLOv3的模型訓(xùn)練菱父,可以得到訓(xùn)練模型:
第二步:安裝
- Paddle2ONNX 0.4
- ONNX 1.9.0
- PaddleX 1.3.7
- OpenVINO 2021.3
第三步莲趣,將paddle模型導(dǎo)出為inference格式模型,導(dǎo)出的模型將包括model尺栖、params和model.yml三個(gè)文件名漓骚,導(dǎo)出命令如下:
paddlex --export_inference --model_dir=/path/to/paddle_model --save_dir=./inference_model --fixed_input_shape=[w,h]
第四步俯树,克隆 paddlex代碼倉到本地,命令如下:
第五步畜挨,初始化OpenVINO運(yùn)行時(shí)環(huán)境筒繁,并轉(zhuǎn)換代碼
"c:\Program Files (x86)\Intel\openvino_2021.2.185\bin\setupvars.bat"
python converter.py --model_dir /path/to/inference_model --save_dir /path/to/openvino_model --fixed_input_shape [w,h]
第六步,加載OpenVINO模型巴元,執(zhí)行推理程序
python PaddleX\deploy\openvino\python\demo.py -m openvino_model\paddle2onnx_model.xml -i images\0001.jpg -c inference_model\model.yml
附加信息:
此前PaddleX的YOLOv3支持轉(zhuǎn)成OpenVINO毡咏,是因?yàn)楫?dāng)時(shí)在PaddleX中有定制化的代碼來做模型導(dǎo)出的事情,用戶直接用Paddle2ONNX轉(zhuǎn)PaddleDetection的模型是無法部署OpenVINO的逮刨。
為了解決這個(gè)問題呕缭,我現(xiàn)在給Paddle2ONNX里面實(shí)現(xiàn)了一個(gè)插件,用戶按照這個(gè)文檔即可完成paddle->onnx->openvino修己,并且也提供了一個(gè)python部署示例
參考:https://github.com/PaddlePaddle/Paddle2ONNX/blob/release/0.9/experimental/openvino_ppdet_cn.md