深度学习
一、三种推理框架介绍
1、OpenVINO介绍
OpenVINO是英特尔针对自家硬件平台开发的一套深度学习工具库,包含推断库,模型优化等等一系列与深度学习模型部署相关的功能。
OpenVINO™工具包是用于快速开发应用程序和解决方案的综合工具包,可解决各种任务,包括模拟人类视觉,自动语音识别,自然语言处理,推荐系统等。该工具包基于最新一代的人工神经网络,包括卷积神经网络(CNN),循环和基于注意力的网络,可在英特尔®硬件上扩展计算机视觉和非视觉工作负载,从而最大限度地提高性能。它通过从边缘到云的高性能,人工智能和深度学习推理来加速应用程序。
OpenVINO特点
在边缘启用基于CNN的深度学习推理
支持通过英特尔®Movidius™VPU在英特尔®CPU,英特尔®集成显卡,英特尔®神经计算棒2和英特尔®视觉加速器设计之间进行异构执行
通过易于使用的计算机视觉功能库和预先优化的内核加快上市时间
包括对计算机视觉标准(包括OpenCV *和OpenCL™)的优化调用
OpenVINO是一个比较成熟且仍在快速发展的推理库,提供的demo和sample都是很充足的,上手比较容易,可以用来快速部署开发,尤其是Intel的硬件平台上性能超过了大部分的开源库,毕竟是自家的亲儿子。可以这么说在x86上推断能力没有什么框架可以与之媲美。
OpenVINO对各类图形图像处理算法进行了针对性的优化,从而扩展了Intel的各类算力硬件以及相关加快器的应用空间,实现了AI范畴的异构较量,使传统平台的视觉推理能力获得了很大水平的提高。OpenVINO实现了一套通用的API,能够夹杂挪用CPU、GPU、Movidius NCS和FGPA的算力来配合完成一次视觉推理,预先实现了一系列的功能库、OpenCL kernel等,能够缩短产品面世时间。

基于OpenVINO,应用在新零售、教育、智能交通、智慧金融、智慧城市、智能工场以及无人驾驶等范畴,OpenVINO已经在国内外顶尖客户的方案中显现出强大的优势。
2、TensorRT介绍
TensorRT是一个高性能的深度学习推理优化器,可以为深度学习应用提供低延迟,高吞吐率的部署推理。TensorRT可用于对超大规模数据中心,嵌入式平台或自动驾驶平台进行推理加速。TensorRT现已能支持TensorFlow,Caffe,Mxnet,Pytorch等几乎所有的深度学习框架,将TensorRT和NVIDIA的GPU结合起来,能在几乎所有的框架中进行快速和高效的部署推理。

3、Mediapipe介绍
MediaPipe是个基于图形的跨平台框架,用于构建多模式应用的机器学习管道。
MediaPipe可在移动设备,工作站和服务器上跨平台运行,并支持移动GPU加速。使用MediaPipe,可以将应用的机器学习管道构建为模块化组件的图形。
MediaPipe专为机器学习从业者而设计包括研究人员,学生,和软件开发人员,他们实施生产就绪的ML应用程序,发布伴随研究工作的代码,以及构建技术原型。MediaPipe的主要用例上使用推理模型和其他可重用组件对应用机器学习管道进行快速原型设计。MediaPipe还有助于机器学习技术部署到各种不用硬件平台上的演示和应用程序中。

二、三种框架的对比
1、框架自身比较
2.1、从模型部署上:
OpenVINO模型部署分为两个部分:模型优化器和推理引擎。
模型优化器将训练好的模型转换为推理引擎可以识别的中间表达–IR文件,并在转换过程中对模型进行优化。推理引擎接受经过模型优化器转换并优化的网络模型,为Intel的各种计算设备提供高性能的神经网络推理运算。
TensorRT也是两个部分:build和deployment 。
build:这个阶段主要完成模型转换,将不同框架的模型转换到TensorRT。模型转换时会完成前述优化过程中的层间融合,精度校准。这一步的输出是一个针对特定GPU平台和网络模型的优化过的TensorRT模型,这个TensorRT模型可以序列化存储到磁盘或内存中。存储到磁盘中的文件称之为 plan file。deployment主要完成推理过程。将上面一个步骤中的plan文件首先反序列化,并创建一个 runtime engine,然后就可以输入数据(比如测试集或数据集之外的图片),然后输出分类向量结果或检测结果。

2760

被折叠的 条评论
为什么被折叠?



