深度学习实用工具:OpenVINO开发套件
硬件再怎么厉害,也需要软件工具的加持,重复造轮子不是一个好主意。为了充分挖掘处理器的性能,各个厂家都发布了各种软件框架和工具,英特尔的OpenVINO就是其中之一。
OpenVINO是一种可以加快高性能计算机视觉和深度学习视觉应用开发速度的工具套件,支持各种英特尔平台的硬件加速器上进行深度学习,并且允许直接异构执行。本文摘选了英特尔物联网事业部开发者赋能部门应用工程师邱丹的一次演讲,便于读者直观了解OpenVINO的特性和功能。
文末有演讲视频及PDF文档。
AI与深度学习
AI正在赋能千行百业,如智能家居、智慧医疗、智慧门店、虚拟主播、物流机器人、智能驾驶等,部分传统企业也在探索与AI的结合以提高竞争力。比如,以前的纺织业通过人工方式检测布匹等的瑕疵,人力成本较大,换为AI的方式,通过摄像头捕捉布匹的影像,通过深度学习智能分析布匹瑕疵,大大减少了人力投入。
深度学习驱动着AI蓬勃发展。2009年后,随着大数据技术的应用,深度学习得到了真正的发展,复杂神经网络的训练时间大大缩短,让AI具备了真正落地的实力。以视觉识别和语音识别为例,目前AI识别与人工识别的误差已经越来越小,某些场景下,AI识别甚至高于人工识别。
AI应用构建
在开始AI应用时,需要考虑三个问题:
1、应用的使用场景
以智慧门店为例,需要考虑门店面积、终端摄像头安装数量及位置设定等。
2、性能需求
如工业场景下对数据的实时性要求高或吞吐量,以及系统的成本、精度等。
3、算力如何分配
CPU等设备如何分配,计算设备的选择等
Intel在AI上的优势
1、软/硬件的先发优势
2、多样性的产品线
3、简化AI开发过程
4、可持续性
深度学习的挑战
1、模型的复杂度和部署时的鸿沟
训练时的模型不一定能部署,技术和成本影响部署等。
2、部署挑战
训练在数据中心,较理想,但部署时遇到的问题不一致;
硬件支持:不同的硬件支持不同的指令集,功耗不一样,开发者交互时需要不一样的API
3、一个模型不能适配所有场景
OpenVINO:高效、易用、跨平台
1、它可以在不增加硬件的基础上,凭借软件提升设备性能。某些场景下,甚至可以显著降低产品功耗和成本。
2、异构计算:软硬件结合的方式,提高设备的利用率
如,可以利用闲置的集成显卡显著提高计算性能
核心组件
两个组建:
1、模型优化器 python工具
(1)格式转化 (2)拓扑优化
2、推理引擎:
可动态智能调用插件,协助开发者调用API
OpenVINO部署流程
1、模型构建:(1)传统深度学习框架生成预训练模型,OpenVINO不参与 (2)调用Open Model Zoo中训练好的模型
2、优化:(1)模型优化器读取模型进行优化和转化,并生成IR数据 (2)其他的实用工具,如OpenCV、OpenCL、示例代码等
3、部署:推理引擎读取IR文件,并根据平台动态调用插件,对推理进行优化,并得到输出结果。
支撑的框架
OpenVINO没有参与构建过程,但支持很多框架,大字部分是直接支持,小字部分是间接直接。
模型优化器:输入、输出;部分模型不需要模型转化器进行转化。
优化技术:
(1)线性操作融合
(2)冗余子网络去除等
预训练优化工具:可以进行低精度量化,可指定量化算法、精度设定的阈值等。
模型优化器: