本教程详细介绍了 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。

  执行完会生成如下文件:
【模型推理】openvino 性能测试_cpu

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 是异步推理,具有高延时/高吞吐的特点。

  如下是一些数据:
【模型推理】openvino 性能测试_人工智能_02


  小结:

  (1) 其实我的目的是想跟 gpu trt 对比一下 openvino cpu 差多少,实际我的硬件配置以fp16精度性能会差 15倍以上;

  (2) 这里数据没贴 yolov3、yolov4的,我实际测试的fp16差不多 17 帧左右,感觉有点慢啊~


  先这样了,收工~



扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !
【模型推理】openvino 性能测试_人工智能_03