基于openvino的推理性能优化的学习与分析 (一) 官方参考源码benchmark_app的编译运行

英特尔开发人员专区
企业官方账号
2020-09-28 02:57:24
加精
很久以前就看了这么一篇文章 "使用英特尔GPU的性能调优达到153帧MobileNet-SSD目标检测", 作者是在Intel CPU的集成显卡上实现的。一直想亲手实践一下,无奈这些年患了很严重的拖延症和懒癌。最近病情有所好转,索性努力研究一下。

首先安装VS2017, 接着从官网下载安装最新的openvino版本2019 R3. 按照官网的Install Intel Distribution of OpenVINO toolkit for Windows 10教程安装下载必须的依赖库和Model zoo的各种模型文件。

安装好之后就可以编译openvino自带的sample例程了。

OpenVINO很贴心的提供了一个batch文件(如下图所示),在文件管理器里双击运行该bat文件,可以根据当前系统安装的VS2015/VS2017/VS2019的版本自动生成对应的VC项目文件并且编译生成代码。



生成的项目文件Samples.sln在Documents\Intel\OpenVINO\inference_engine_samples_build目录下。



其中benchmark_app项目就是官方提供的测试OpenVINO推理性能的参考项目。可以通过学习官方代码了解如何最大程度的挖掘硬件性能,获得更高的推理能力



benchmark的用法可以参考官网 Benchmark C++ Tool的说明,如果要测CPU的性能,最简单的命令就是

./benchmark_app -m <model> -i <input> -d CPU
-m 后面带模型的文件名, -i 后面跟一个目录名,目录里放一些需要推理的图片

我这里用mobilenet-ssd来测试。

benchmark_app.exe -m c:\temp\cvt_model\mobilenet-ssd-fp32\mobilenet-ssd.xml -i c:\temp\ssd_img
测试程序会默认自动跑一分钟模型推理,统计1分钟里推理了多少图片,平均每张图片所需的时间。



这里重点看Latency和Throughput的值

Latency指平均推理一张图片所需的时间。Throughput指每秒钟可以同时推理多少张图片。

在实际场景中,如果我们想用最快的速度来推理一张图片得到推理结果的话,需要将Latency尽可能的变小;如果我们想充分挖掘硬件的潜力,在单位时间里尽可能多的处理数据的话,需要将Throughput尽可能的变大。这2个参数指标通常是互相对立的,如果要Lantency变小,就需要将所有的硬件资源集中起来做一件事;如果要Throughput变大,就需要将所有的硬件资源都最大限度的调动起来做事,不让每一块电路空闲下来,这也就意味着同时跑很多件事,但是每件事的处理时间会变长。
...全文
84792 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2021-03-28
  • 打赏
  • 举报
回复
hookee 2021-03-05
  • 打赏
  • 举报
回复
littlezhang1990 2021-02-09
  • 打赏
  • 举报
回复
很厉害的样子
Stock king 2021-01-22
  • 打赏
  • 举报
回复
zkwhenry 2021-01-18
  • 打赏
  • 举报
回复
学习学习 学习学习!
Giberson1 2021-01-13
  • 打赏
  • 举报
回复
这不就是超频吗,寿命骤降意义不大。耗损的寿命不如加强买个配置更好的GPU产品,你这种尝试毫无意义,只是在菜鸟前面放大招,奥利给。
yszjdtk 2021-01-12
  • 打赏
  • 举报
回复
这个是什么意思 可以下载吗 好用不
vhuss 2020-12-13
  • 打赏
  • 举报
回复
学习到了,可喜可喜,谢谢老板!
ELyn6 2020-12-06
  • 打赏
  • 举报
回复
灌水55555555555555555555555555555555555
allensw 2020-11-25
  • 打赏
  • 举报
回复
xiexiexiexie
qmkcmfx 2020-11-14
  • 打赏
  • 举报
回复
看不到看不懂空白的
sdkta 2020-11-13
  • 打赏
  • 举报
回复
学习了,谢谢分享
qq_31964571 2020-11-12
  • 打赏
  • 举报
回复
8888888888888888888888888666666666666666666666
mxfqjp 2020-11-10
  • 打赏
  • 举报
回复
88888888888888888888888888888888888888888888
easycomeeasygo12 2020-11-01
  • 打赏
  • 举报
回复
888888888888888888888888888888888888888888888888888888888888888888
easycomeeasygo12 2020-11-01
  • 打赏
  • 举报
回复
6666666666666666666666666666666666666666666
小壁虎找尾巴 2020-10-27
  • 打赏
  • 举报
回复
学习到了,可喜可喜,谢谢老板
柴犬先生 2020-10-23
  • 打赏
  • 举报
回复
你们想桃子呢
wtf2022 2020-10-17
  • 打赏
  • 举报
回复
引用 1 楼 weixin_38952944 的回复:
留言能有积分吗?
有着好事?
qq_17132517 2020-10-15
  • 打赏
  • 举报
回复
积分C币怎么获得阿
加载更多回复(2)

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧