100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 学习笔记(13):英特尔®OpenVINO™工具套件中级课程-推理引擎详解内部API

学习笔记(13):英特尔®OpenVINO™工具套件中级课程-推理引擎详解内部API

时间:2019-02-02 09:40:25

相关推荐

学习笔记(13):英特尔®OpenVINO™工具套件中级课程-推理引擎详解内部API

立即学习:/course/play/28807/427188?utm_source=blogtoedu

目录

1、推理引擎详解

2、推理引擎API (ie_api)

1、推理引擎详解

优化步骤:1、特殊插件HETERO与MULTI

"HETERO"plugin—— 该插件可以在不同设备上运行不受支持的特定层。(设置优先级?)

"尝试在FPGA上运行所有层,如果找不到相应方案在CPU上运行"

"MULTI"Plugin——该插件可以在不同设备上运行每个推理调用,从来利用系统中的所有设备。(设置设备分配?)

程序运行时将生成许多推理请求,每帧都有不同的推理调用

"指令可以把所有请求发送到MYRIAD设备上,如果前者充分利用,后续请求将发送到CPU,两个设备并行执行推理"

2、特定设备优化插件

在推理之前,推理引擎把网络映射到正确的库单元的同时,网络发送至硬件插件,多个级别的硬件优化便已完成。

每个设备或者设备系列都有自己的插件实现方案。

优化内容:

1、网络级优化:一些操作不映射到内核,而是映射到他们之间的关系,例如数据重组,以提高性能,减少推理过程中数据转换的时间

2、内存级优化:在内存中按照特定数据的集合重组数据

3、内核级优化:根据设备是否支持特定指令集来选择合适的指令集

2、推理引擎API (ie_api)

常用的基本API1、IECore(推理引擎对象) —— 推理引擎的主要类

运行在各种不同插件上层,因此可以创建一个core类对象而无需指定任何特定设备,并只有在加载网络,实际运行的时候才需要指定设备,因此无需注册特定插件,直接在IECore内部完成

2、InferRequest ——进行推理

使用推理请求类执行推理,还可以为推理指定请求ID,这对异步推理很重要

3、Performance Counters —— 性能计数器

报告实际运行时的性能计数器

performance_counters = exec_net.requests[0].get_perf_counts()

4、Available Devices —— 可用设备 感知哪些设备被连接且可以被使用devices = ie.available_devices

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。