基于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变大,就需要将所有的硬件资源都最大限度的调动起来做事,不让每一块电路空闲下来,这也就意味着同时跑很多件事,但是每件事的处理时间会变长。
...全文
80008 2 收藏 22
写回复
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 03-28
回复
hookee 03-05
回复
很厉害的样子
回复
回复
zkwhenry 01-18
学习学习 学习学习!
回复
Giberson1 01-13
这不就是超频吗,寿命骤降意义不大。耗损的寿命不如加强买个配置更好的GPU产品,你这种尝试毫无意义,只是在菜鸟前面放大招,奥利给。
回复
yszjdtk 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-23
你们想桃子呢
回复
weixin_41643776 2020-10-17
引用 1 楼 weixin_38952944 的回复:
留言能有积分吗?
有着好事?
回复
qq_17132517 2020-10-15
积分C币怎么获得阿
回复
加载更多回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
英特尔边缘计算技术
创建于2007-08-27

450

社区成员

英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
申请成为版主
帖子事件
创建了帖子
2020-09-28 02:57
社区公告
暂无公告