本教程详细介绍了 openvino 性能测试的姿势。
1、安装 openvino
可以参考《【模型推理】ubuntu 配置和使用 openvino》。
2、openvino 模型下载与推理实践
可以参考《【模型推理】openvino 推理实践》。
3、openvino 性能测试姿势
这里以 alexnet 为例。
3.1 下载 alexnet 模型
# download alexnet model
cd open_model_zoo/tools/downloader/
python downloader.py --name alexnet
3.2 模型转换
## transform model to openvino_IR
# caffe_model
# input_shape 在 alexnet.prototxt 中改
python openvino/model-optimizer/mo.py --input_model ./alexnet.caffemodel --data_type FP32 --output_dir ./
# tf_model
python openvino/model-optimizer/mo_tf.py --input_model ./alexnet.pb --data_type FP32 --input_shape [1,224,224,3] --output_dir ./
# onnx_model
python openvino/model-optimizer/mo_onnx.py --input_model ./alexnet.onnx --data_type FP32 --output_dir ./
其中:
--data_type
可选 FP32、FP16、half、float。
执行完会生成如下文件:
3.3 性能测试
# benchmark test
./openvino/bin/intel64/Release/benchmark_app -i image.png -m alexnet.xml -api sync -d CPU -b 1
其中:
-api
可选 sync (同步模式) 和 async (异步模式);
-b
表示 batchsize;
-d
表示 target可选 CPU、MULTI:CPU、MULTI:CPU,GPU、MULTI:CPU,MYRIAD、MULTI:CPU,MYRIAD,GPU;
下面给出一些我测试的数据,我的CPU是两颗 Intel Xeon E5-2630,具有40个CPU逻辑核,分别对模型推理 fp16 sync、fp16 async、fp32 sync、fp32 async 进行了测试,其中 sync 是同步推理,具有低延时/低吞吐的特征,延时*吞吐=1000;async 是异步推理,具有高延时/高吞吐的特点。
如下是一些数据:
小结:
(1) 其实我的目的是想跟 gpu trt 对比一下 openvino cpu 差多少,实际我的硬件配置以fp16精度性能会差 15倍以上;
(2) 这里数据没贴 yolov3、yolov4的,我实际测试的fp16差不多 17 帧左右,感觉有点慢啊~
先这样了,收工~
扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !