0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英特尔OpenVINO™将全力助力极视角AI推理加速

英特尔物联网 来源:极市平台 作者:邓富城博士 极视角 2021-09-22 16:19 次阅读

在模型开发和部署方面,极市平台集成了最新版本的OpenVINO工具,助力开发者在最小化代码修改的条件下加速AI算法在各类生产环境中规模化部署应用,尤其是在Intel丰富的硬件资源平台上(CPUs、iGPUs、VPUs等等)。

本文重点介绍了极视角与英特尔开发人员共同研发的OpenVINO最新功能,无缝集成TensorFlow框架,对于熟悉TensorFlow开发的开发者来说,在原有代码的基础上只需要添加几行简单代码就可以无痛实现模型精度不变的前提下推理加速1.34倍以上,避免了显式地进行OpenVINO转换以及推理部分代码的重新编写,大大简化OpenVINO工具的使用,加速AI算法在生产环境中的应用部署。

无痛实现 1.34 倍加速推理

我们先来看看本文方法在模型推理加速上具体表现:

可以看到,在同一测试环境下,OpenVINO 与 TensorFlow 的集成实现了 1.34 的加速几何平均值,同时,模型的准确性保持不变:

具体实操

OpenVINO 与 TensorFlow 的集成专为使用 OpenVINO 工具套件的开发人员而设计——通过最少的代码修改来提高推理应用程序的性能。该集成为提高TensorFlow 兼容性提供以 OpenVINO 工具套件内联优化和所需运行时,并加速了各种英特尔芯片上多类AI模型的推理。

通过将以下两行代码添加到 Python 代码或 Jupyter Notebooks 中,就可以极大地加速你的 TensorFlow 模型的推理:

import openvino_tensorflowopenvino_tensorflow.set_backend(‘《backend_name》’)

OpenVINO 与 TensorFlow 的集成通过将 TensorFlow 图巧妙地划分为多个子图,再将这些子图分派到 TensorFlow 运行时或 OpenVINO 运行时,从而实现最佳加速推理。

# 工作流概述

同时,通过 openvino_tensorflow ,我们能够非常轻松地使用不同硬件:

更多的详细信息可以前往 Github:

https://github.com/openvinotoolkit/openvino_tensorflow

# 在Extreme Vision notebooks中集成

在Extreme Vision IDE中可以直接将OpenVINO与TensorFlow集成。如下图所示,你只需要简单地导入openvino_tensorflow,即可无缝加速 Jupyter Notebook 中在CPU上推理的所有 TensorFlow模型,同时可以继续使用标准的TensorFlow API,而无需代码重构。

对推理加速更深的讨论

从前文对推理加速上的结果展示中,我们可以看到通过添加 2 行代码激活OpenVINO与 TensorFlow 的集成后,可以获得最高达 10 倍的推理加速。但也有个别模型出现了异常情况,如Mask RCNN Atrous 和 SSD Mobilenet V2,因此我们对如何获得最佳性能进行了讨论:

#01

OPENVINO_TF_MIN_NONTRIVIAL_NODES 变量

该变量设置了聚类中可以存在的最小操作数。如果操作数小于指定的数量,则聚类将回退到 TensorFlow。默认情况是根据总图大小计算的,但除非手动设置,否则不能小于 6。另外,我们将此变量设置为 15 和 22 来观察模型进一步的性能增强,并以此得到了最终的最佳推理性能。因此,在具体的开发应用中应通过默认值或实验来确定能够为模型提供最佳性能的变量最佳值。

#02

冻结 Keras 模型以获得最佳性能

一些 Keras 模型可能包含训练操作,这会导致 TensorFlow 产生控制流。由于 OpenVINO 工具套件不支持这些操作,因此图形可能会被划分为较小的聚类。因此,在使用 OpenVINO 与 TensorFlow 的集成时,冻结模型可以避免这些操作并提高整体性能。

使用 Keras API 的 DenseNet121 推理应用代码示例:

import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras.applications.densenet import DenseNet121# Add two lines of code to enable OpenVINO integration with TensorFlowimport openvino_tensorflowopenvino_tensorflow.set_backend("CPU")


model = DenseNet121(weights='imagenet')


# Run the inference using Keras API  model.predict(input_data)

下面是冻结和运行 Keras 模型的一个示例代码,通过这种方式,我们能够优化使用 OpenVINO 与 TensorFlow 的集成实现的最佳性能。

import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras.applications.densenet import DenseNet121from tensorflow.python.framework.convert_to_constants import convert_variables_to_constants_v2# Add two lines of code to enable OpenVINO integration with TensorFlowimport openvino_tensorflowopenvino_tensorflow.set_backend("CPU")


model = DenseNet121(weights='imagenet')


# Freeze the model first to achieve the best performance# using OpenVINO integration with TensorFlow    full_model = tf.function(lambda x: self.model(x))full_model = full_model.get_concrete_function(tf.TensorSpec(model.inputs[0].shape,model.inputs[0].dtype, name=model.inputs[0].name))frozen_func = convert_variables_to_constants_v2(full_model)frozen_func.graph.as_graph_def()session = tf.compat.v1.Session(graph=frozen_func.graph)prob_tensor = frozen_func.graph.get_tensor_by_name(full_model.outputs[0].name)


# Run the inference on the frozen modelsession.run(prob_tensor, feed_dict={full_model.inputs[0].name : input_data})

#03

Mask RCNN Atrous和SSD Mobilenet

如上文的结果所示,OpenVINO与TensorFlow的集成可以加速大多数TensorFlow模型,但由于一些模型具有OpenVINO与TensorFlow集成尚不完全支持的工作组件(例如运算符、层等),如Mask RCNN Atrous和SSD Mobilenet V2等一些模型仍在开发完善中。

为了扩大模型覆盖范围以及进一步提升性能,极视角技术团队将会继续测试和完善OpenVINO与TensorFlow的集成,以帮助更多使用TensorFlow开发人员能够更好地应用极市平台。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1379

    浏览量

    60978
  • SSD
    SSD
    +关注

    关注

    20

    文章

    2684

    浏览量

    115418
  • AI
    AI
    +关注

    关注

    87

    文章

    26363

    浏览量

    263947
  • 代码
    +关注

    关注

    30

    文章

    4553

    浏览量

    66665

原文标题:英特尔OpenVINO™ 助力极视角AI推理加速

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    简单三步使用OpenVINO™搞定ChatGLM3的本地部署

    英特尔 OpenVINO™ 工具套件是一款开源 AI 推理优化部署的工具套件,可帮助开发人员和企业加速生成式人工智能 (AIGC)、大语言模
    的头像 发表于 04-03 18:18 1063次阅读
    简单三步使用<b class='flag-5'>OpenVINO</b>™搞定ChatGLM3的本地部署

    英特尔:2025年全球AIPC超1亿台占比20%

    英特尔行业资讯
    北京中科同志科技股份有限公司
    发布于 :2024年02月29日 09:15:26

    英特尔专家为您揭秘第五代英特尔® 至强® 可扩展处理器如何为AI加速

    % 1 ,AI 推理性能提升42% 2 。 这一系列性能提升的背后,存在着怎样的创新与突破?第五代英特尔 至强 可扩展处理器为什么要强调为AI加速
    的头像 发表于 12-23 12:20 443次阅读

    #高通 #英特尔 #Elite 高通X Elite芯片或终结苹果、英特尔的芯片王朝

    高通英特尔苹果
    深圳市浮思特科技有限公司
    发布于 :2023年10月27日 16:46:07

    OpenVINO工具套件是否可以商业化使用?

    参阅 英特尔® OpenVINO™分销许可第 2.1 节(2021 年 5 月版本)。 无法了解英特尔® 发行版 OpenVINO™ 工具套件是否可以商业化使用。
    发表于 08-15 08:19

    安装OpenVINO工具套件英特尔Distribution时出现错误的原因?

    安装OpenVINO™工具套件英特尔 Distribution时,出现错误: Python 3.10.0.ECHO is off. Unsupported Python version.
    发表于 08-15 08:14

    为什么无法使用POT优化Tensorflow (TF)或MXNet模型?

    无法使用 POT 优化 Tensorflow (TF) 或 MXNet 模型,以便在 英特尔凌动® 平台上使用 OpenVINO™ 工具套件进行推理。 运行 pot -h。 接收错误消息: 非法指令例外
    发表于 08-15 08:05

    从Docker映像为Raspbian OpenVINO工具套件的安装过程

    英特尔® Distribution工具OpenVINO™可快速部署模拟人类视觉的应用和解决方案。该工具包在基于卷积神经网络 (CNN) 的英特尔®硬件上扩展了计算机视觉 (CV) 工作负载,从而
    发表于 08-15 06:59

    如何使用交叉编译方法为Raspbian 32位操作系统构建OpenVINO工具套件的开源分发

    电脑棒 2 Linux* USB 驱动程序。 使用所选的模型和输入运行benchmark_app。 示例应用 英特尔® OpenVINO™ 工具套件包括利用推理引擎和英特尔® 神经电
    发表于 08-15 06:28

    使用OpenVINO trade 2021版运行Face_recognition_demo时报错怎么解决?

    importing ie_api 推断 face_recognition_demo 与 OpenVINO™ 2021 版本和 英特尔® 神经电脑棒 2 (英特尔® NCS2) 插件丢点错
    发表于 08-15 06:20

    如何在使用Inspector运行OpenVINO C++样本时避免内存泄露?

    运行OpenVINO™ 图像分类 Async C++示例带英特尔® Inspector用于检查内存问题。使用命令: $ pwd /home/centos
    发表于 08-15 06:18

    Ai 部署的临界考虑电子指南

    虽然GPU解决方案对训练,AI部署需要更多。 预计到2020年代中期,人工智能行业增长到200亿美元,其中大部分增长是人工智能推理英特尔Xeon可扩展处理器约占运行
    发表于 08-04 07:25

    英特尔媒体加速器参考软件Linux版用户指南

    英特尔媒体加速器参考软件是用于数字标志、交互式白板(IWBs)和亭位使用模型的参考媒体播放器应用软件,它利用固定功能硬件加速来提高媒体流速、改进工作量平衡和资源利用,以及定制的图形处理股(GPU)管道解决方案。该用户指南
    发表于 08-04 06:34

    英特尔® AMX 助力百度ERNIE-Tiny AI推理性能提升2.66倍,尽释AI加速潜能

    科技赋能千行百业 人民网携手英特尔启动“数智加速度”计划 WAIC 2023:英特尔以技术之力推动边缘人工智能发展,打造数字化未来“芯”时代 英特尔 AMX
    的头像 发表于 07-14 20:10 262次阅读
    <b class='flag-5'>英特尔</b>® AMX <b class='flag-5'>助力</b>百度ERNIE-Tiny <b class='flag-5'>AI</b><b class='flag-5'>推理</b>性能提升2.66倍,尽释<b class='flag-5'>AI</b><b class='flag-5'>加速</b>潜能

    英特尔® AMX 加速AI推理性能,助阿里电商推荐系统成功应对峰值负载压力

    达沃斯论坛|英特尔王锐:AI驱动工业元宇宙,释放数实融合无穷潜力 英特尔研究院发布全新AI扩散模型,可根据文本提示生成360度全景图 英特尔
    的头像 发表于 07-08 14:15 321次阅读
    <b class='flag-5'>英特尔</b>® AMX <b class='flag-5'>加速</b><b class='flag-5'>AI</b><b class='flag-5'>推理</b>性能,助阿里电商推荐系统成功应对峰值负载压力