原创:晏茜
资料来源:邱丹
1. intel 开发工具及实验平台介绍
1.1 Intel® OpenVINO™工具包
定义
Intel® OpenVINO™ 工具包是为了让英特尔的硬件平台最大的发挥它的算力出来而诞生的工具套件。Open 代表开源的。V 代表 Visual,说明它是基于计算机视觉应用的,N 代表的是 Network,O 代表的是 Optimization,网络优化。所以,Intel® OpenVINO™ 工具包是开源的用于优化计算机视觉应用以及模型性能的一套工具包。
特点
Intel® OpenVINO™ 工具包的显著特点是它能够给硬件平台带来指数级的性能提升。这个工具包像是一个智能路由器,基于这个工具包去做开发,运行的硬件平台无论是6代酷睿,还是至强处理器,都是可以的,因为 OpenVINO 会自动的匹配这些硬件平台,这也是它能简化开发的意义所在。
组成
Intel® OpenVINO™ 工具包包含两个模块,第一个模块是模型优化器,第二个模块是搜索引擎。
模型优化器 (Model Optimizer)
- 一个基于python的工具,用于导入训练好的模型并将其转换为中间表示
- 通过模型拓扑转换优化性能及存储空间
- 硬件无关的优化
推理引擎 (Inference Engine)
- 高层级的 C/C++ 和 Python,推理运行时API
- 为不同的硬件提供统一接口,每个硬件类型以动态加载插件的方式实现接口
- 为不同硬件类型提供最佳性能,无需用户实现和维护多个代码路径
工作流
为什么 OpenVINO 工具包可以做到优化,原因可以通过它的工作流体现出来。第一步是模型的构建,TensorFlow,ONNX 等,这些大厂的系统学习框架,训练出来的模型,经过 OpenVINO 之后,首先进行第一个层次的优化,也就是通过模型优化器,它会把这些模型进行转换,转换的过程中对模型进行简化,之后输出一个优化过后的模型。优化过后的模型同时又会经过第二重优化,第二重优化是由推理引擎来完成的,推理引擎