ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

OpenVINO工具套件高级课程第四课:如何进行AI推理的性能对比?

2022-03-20 22:32:41  阅读:234  来源: 互联网

标签:第四课 OpenVINO 请求 AI 性能 线程 数据格式 执行 推理


一、示例分析

在这里插入图片描述
两个流水线比较
①流水线-1:延迟更短,响应时间短;
②流水线-2:吞吐量更大

二、影响推理性能参数

1、神经网络参数

在这里插入图片描述

2、设备参数

CPU通常支持所有的数据格式,如果不是原生的则使用软件进行相应转换。但是GPU、VPU等设备的数据格式通常较少,数据格式会影响内存大小和计算能力,在试验前需要确保有足够的内存空间,足以支撑输入图像存放在网络上并保持权重。
设备参数主要三个方面: ①支持的数据格式;② 内存占用率和速度;③计算能力。

3、推理执行参数

在合理地选择网络和设备后就可以处理执行参数了,检查推理性能的最佳工具是benchmark app,该app可以设置推理引擎所有参数和选项开关, 可支持C++/Python,性能指标表现良好。
在这里插入图片描述

1)同步/异步执行

同步执行:推理有时需要很长时间,该模式下需要等待流水线完成每个阶段,这样会降低整体系统性能,无法充分发挥每个部分的最大性能。
异步执行:只发送第一帧的推理请求,而不用等待完成,继续准备第二帧,在推理请求没有阻塞时,不断准备帧进行输入,并进行推理操作,该模式可以实现吞吐量的巨大提升。
在这里插入图片描述

2)张量尺寸

在本示例中,创建了一个宽12的张量,当网络同时执行4个或更多输入项时,可以获得更多的优化,但是更高的批次不一定产生更高的性能,有时甚至在内存过载时削弱性能,进而增加很多延迟。
在这里插入图片描述

3)推理请求数量

推理请求的数量和批处理不同,批处理意味着推理请求的输入更大。在本示例中,推理请求数量意味着系统中有4个不同的任务,每个批次一个。推理请求的执行顺序是并行还是顺序执行取决于其他参数、功能和工作负载,看系统可否高效处理多个推理请求。
在这里插入图片描述

4)视频流数量

视频流数据与CPU执行能力相关,相比批处理,视频流处理功能通常可以为CPU提供更出色的性能,特别是对于多核服务器来说。
在吞吐量模式下,线程将进行流分组,从而提升内核和内部之间的分配效率,流内部的同步开销更低,数据局部性更出色,有助于提高性能。
在这里插入图片描述

5)线程数量

选择需要的线程数,甚至将线程固定到特定核心或者让CPU线程分配给资源。
在这里插入图片描述

6)数据格式

在这里插入图片描述

标签:第四课,OpenVINO,请求,AI,性能,线程,数据格式,执行,推理
来源: https://blog.csdn.net/zhouqiping/article/details/123621518

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有