0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英特爾OpenVINO?將全力助力極視角AI推理加速

英特爾物聯(lián)網(wǎng) ? 來源:極市平臺 ? 作者:鄧富城博士 極視角 ? 2021-09-22 16:19 ? 次閱讀

在模型開發(fā)和部署方面,極市平臺集成了最新版本的OpenVINO工具,助力開發(fā)者在最小化代碼修改的條件下加速AI算法在各類生產(chǎn)環(huán)境中規(guī)?;渴饝?yīng)用,尤其是在Intel豐富的硬件資源平臺上(CPUs、iGPUs、VPUs等等)。

本文重點介紹了極視角與英特爾開發(fā)人員共同研發(fā)的OpenVINO最新功能,無縫集成TensorFlow框架,對于熟悉TensorFlow開發(fā)的開發(fā)者來說,在原有代碼的基礎(chǔ)上只需要添加幾行簡單代碼就可以無痛實現(xiàn)模型精度不變的前提下推理加速1.34倍以上,避免了顯式地進(jìn)行OpenVINO轉(zhuǎn)換以及推理部分代碼的重新編寫,大大簡化OpenVINO工具的使用,加速AI算法在生產(chǎn)環(huán)境中的應(yīng)用部署。

無痛實現(xiàn) 1.34 倍加速推理

我們先來看看本文方法在模型推理加速上具體表現(xiàn):

可以看到,在同一測試環(huán)境下,OpenVINO 與 TensorFlow 的集成實現(xiàn)了 1.34 的加速幾何平均值,同時,模型的準(zhǔn)確性保持不變:

具體實操

OpenVINO 與 TensorFlow 的集成專為使用 OpenVINO 工具套件的開發(fā)人員而設(shè)計——通過最少的代碼修改來提高推理應(yīng)用程序的性能。該集成為提高TensorFlow 兼容性提供以 OpenVINO 工具套件內(nèi)聯(lián)優(yōu)化和所需運(yùn)行時,并加速了各種英特爾芯片上多類AI模型的推理。

通過將以下兩行代碼添加到 Python 代碼或 Jupyter Notebooks 中,就可以極大地加速你的 TensorFlow 模型的推理:

import openvino_tensorflowopenvino_tensorflow.set_backend(‘《backend_name》’)

OpenVINO 與 TensorFlow 的集成通過將 TensorFlow 圖巧妙地劃分為多個子圖,再將這些子圖分派到 TensorFlow 運(yùn)行時或 OpenVINO 運(yùn)行時,從而實現(xiàn)最佳加速推理。

# 工作流概述

同時,通過 openvino_tensorflow ,我們能夠非常輕松地使用不同硬件:

更多的詳細(xì)信息可以前往 Github:

https://github.com/openvinotoolkit/openvino_tensorflow

# 在Extreme Vision notebooks中集成

在Extreme Vision IDE中可以直接將OpenVINO與TensorFlow集成。如下圖所示,你只需要簡單地導(dǎo)入openvino_tensorflow,即可無縫加速 Jupyter Notebook 中在CPU上推理的所有 TensorFlow模型,同時可以繼續(xù)使用標(biāo)準(zhǔn)的TensorFlow API,而無需代碼重構(gòu)。

對推理加速更深的討論

從前文對推理加速上的結(jié)果展示中,我們可以看到通過添加 2 行代碼激活OpenVINO與 TensorFlow 的集成后,可以獲得最高達(dá) 10 倍的推理加速。但也有個別模型出現(xiàn)了異常情況,如Mask RCNN Atrous 和 SSD Mobilenet V2,因此我們對如何獲得最佳性能進(jìn)行了討論:

#01

OPENVINO_TF_MIN_NONTRIVIAL_NODES 變量

該變量設(shè)置了聚類中可以存在的最小操作數(shù)。如果操作數(shù)小于指定的數(shù)量,則聚類將回退到 TensorFlow。默認(rèn)情況是根據(jù)總圖大小計算的,但除非手動設(shè)置,否則不能小于 6。另外,我們將此變量設(shè)置為 15 和 22 來觀察模型進(jìn)一步的性能增強(qiáng),并以此得到了最終的最佳推理性能。因此,在具體的開發(fā)應(yīng)用中應(yīng)通過默認(rèn)值或?qū)嶒瀬泶_定能夠為模型提供最佳性能的變量最佳值。

#02

凍結(jié) Keras 模型以獲得最佳性能

一些 Keras 模型可能包含訓(xùn)練操作,這會導(dǎo)致 TensorFlow 產(chǎn)生控制流。由于 OpenVINO 工具套件不支持這些操作,因此圖形可能會被劃分為較小的聚類。因此,在使用 OpenVINO 與 TensorFlow 的集成時,凍結(jié)模型可以避免這些操作并提高整體性能。

使用 Keras API 的 DenseNet121 推理應(yīng)用代碼示例:

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)

下面是凍結(jié)和運(yùn)行 Keras 模型的一個示例代碼,通過這種方式,我們能夠優(yōu)化使用 OpenVINO 與 TensorFlow 的集成實現(xiàn)的最佳性能。

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

如上文的結(jié)果所示,OpenVINO與TensorFlow的集成可以加速大多數(shù)TensorFlow模型,但由于一些模型具有OpenVINO與TensorFlow集成尚不完全支持的工作組件(例如運(yùn)算符、層等),如Mask RCNN Atrous和SSD Mobilenet V2等一些模型仍在開發(fā)完善中。

為了擴(kuò)大模型覆蓋范圍以及進(jìn)一步提升性能,極視角技術(shù)團(tuán)隊將會繼續(xù)測試和完善OpenVINO與TensorFlow的集成,以幫助更多使用TensorFlow開發(fā)人員能夠更好地應(yīng)用極市平臺。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1509

    瀏覽量

    62249
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    21

    文章

    2877

    瀏覽量

    117652
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    31396

    瀏覽量

    269787
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4816

    瀏覽量

    68863

原文標(biāo)題:英特爾OpenVINO? 助力極視角AI推理加速

文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    英特爾發(fā)布全新企業(yè)AI一體化方案

    近日,英特爾正式推出了全新的企業(yè)AI一體化方案。該方案以英特爾至強(qiáng)處理器和英特爾Gaudi 2D AI
    的頭像 發(fā)表于 12-03 11:20 ?268次閱讀

    英特爾助力百度智能云千帆大模型平臺加速LLM推理

    “大模型在各行業(yè)的廣泛應(yīng)用驅(qū)動了新一輪產(chǎn)業(yè)革命,也凸顯了在AI算力方面的瓶頸。通過攜手英特爾釋放英特爾 至強(qiáng) 可擴(kuò)展處理器的算力潛力,我們?yōu)橛脩籼峁┝烁咝阅堋㈧`活、經(jīng)濟(jì)的算力基礎(chǔ)設(shè)施方案,結(jié)合千帆
    的頭像 發(fā)表于 11-25 16:59 ?460次閱讀
    <b class='flag-5'>英特爾</b><b class='flag-5'>助力</b>百度智能云千帆大模型平臺<b class='flag-5'>加速</b>LLM<b class='flag-5'>推理</b>

    英特爾CEO:AI時代英特爾動力不減

    英特爾CEO帕特·基辛格堅信,在AI技術(shù)的飛速發(fā)展之下,英特爾的處理器仍能保持其核心地位。基辛格公開表示,摩爾定律仍然有效,而英特爾在處理器和芯片技術(shù)上的創(chuàng)新能力
    的頭像 發(fā)表于 06-06 10:04 ?471次閱讀

    英特爾助力京東云用CPU加速AI推理,以大模型構(gòu)建數(shù)智化供應(yīng)鏈

    英特爾助力京東云用CPU加速AI推理,以大模型構(gòu)建數(shù)智化供應(yīng)鏈
    的頭像 發(fā)表于 05-27 11:50 ?567次閱讀
    <b class='flag-5'>英特爾</b><b class='flag-5'>助力</b>京東云用CPU<b class='flag-5'>加速</b><b class='flag-5'>AI</b><b class='flag-5'>推理</b>,以大模型構(gòu)建數(shù)智化供應(yīng)鏈

    華擎推出AI QuickSet軟件,支持英特爾銳炫Arc A系列顯卡

    今日,華擎宣布AI QuickSet軟件工具擴(kuò)展至英特爾銳炫Arc A系列顯卡,使其能夠便捷地安裝Stable Diffusion web UI OpenVINO,結(jié)合
    的頭像 發(fā)表于 05-11 10:58 ?657次閱讀

    簡單兩步使用OpenVINO?搞定Qwen2的量化與部署任務(wù)

    英特爾 OpenVINO? 工具套件是一款開源 AI 推理優(yōu)化部署的工具套件,可幫助開發(fā)人員和企業(yè)加速生成式人工智能 (AIGC)、大語言模
    的頭像 發(fā)表于 04-26 09:39 ?1801次閱讀
    簡單兩步使用<b class='flag-5'>OpenVINO</b>?搞定Qwen2的量化與部署任務(wù)

    英特爾公布Gaudi 3 AI加速器中國特供版計劃

    這兩款專供版加速卡,分別被命名為HL-328和HL-388,它們代表了英特爾AI加速領(lǐng)域的最新技術(shù)成果。
    的頭像 發(fā)表于 04-15 15:19 ?776次閱讀

    Intel Vision 2024大會: 英特爾發(fā)布全新軟硬件平臺,全速助力企業(yè)推進(jìn)AI創(chuàng)新

    的下一代英特爾?至強(qiáng)?6處理器的全新品牌。 ?推出英特爾?Gaudi 3 AI加速器,其推理能力和能效均有顯著提高。多家OEM客戶
    的頭像 發(fā)表于 04-12 14:52 ?585次閱讀
    Intel Vision 2024大會: <b class='flag-5'>英特爾</b>發(fā)布全新軟硬件平臺,全速<b class='flag-5'>助力</b>企業(yè)推進(jìn)<b class='flag-5'>AI</b>創(chuàng)新

    簡單三步使用OpenVINO?搞定ChatGLM3的本地部署

    英特爾 OpenVINO? 工具套件是一款開源 AI 推理優(yōu)化部署的工具套件,可幫助開發(fā)人員和企業(yè)加速生成式人工智能 (AIGC)、大語言模
    的頭像 發(fā)表于 04-03 18:18 ?2155次閱讀
    簡單三步使用<b class='flag-5'>OpenVINO</b>?搞定ChatGLM3的本地部署

    英特爾升級AI PC加速計劃

    近日,英特爾公司正式推出“AI PC加速計劃”,旨在通過兩大新舉措進(jìn)一步推動人工智能技術(shù)在個人電腦領(lǐng)域的應(yīng)用與發(fā)展。
    的頭像 發(fā)表于 03-28 11:46 ?706次閱讀

    英特爾宣布AI PC加速計劃新增兩項AI舉措

    首先,“AI PC 開發(fā)者計劃”面向軟件研發(fā)人員和獨(dú)立軟件開發(fā)商,為他們提供便捷的開發(fā)環(huán)境,助力加速大規(guī)模運(yùn)用新型 AI技術(shù)。此計劃包含一系列全面的工具、優(yōu)化工作流方案、
    的頭像 發(fā)表于 03-27 16:03 ?420次閱讀

    基于英特爾哪吒開發(fā)者套件平臺來快速部署OpenVINO Java實戰(zhàn)

    OpenVINO 工具套件基于OneAPI開發(fā),可以加快高性能計算機(jī)視覺和深度學(xué)習(xí)應(yīng)用開發(fā)速度的工具套件,適用于從邊緣到云的各種英特爾計算平臺上
    的頭像 發(fā)表于 03-21 18:24 ?1574次閱讀
    基于<b class='flag-5'>英特爾</b>哪吒開發(fā)者套件平臺來快速部署<b class='flag-5'>OpenVINO</b> Java實戰(zhàn)

    英特爾酷睿Ultra通過全新英特爾vPro平臺AI PC惠及企業(yè)

    近日,英特爾在2024年世界移動通信大會(MWC 2024)上宣布,全新英特爾?vPro?平臺AI PC的優(yōu)勢惠及商用客戶。
    的頭像 發(fā)表于 03-18 15:07 ?564次閱讀

    英特爾首推面向AI時代的系統(tǒng)級代工

    Advanced System Assembly and Test)能力,以助力客戶在AI領(lǐng)域取得成功。 ?英特爾代工宣布新的
    的頭像 發(fā)表于 02-26 15:41 ?430次閱讀
    <b class='flag-5'>英特爾</b>首推面向<b class='flag-5'>AI</b>時代的系統(tǒng)級代工

    英特爾首推面向AI時代的系統(tǒng)級代工—英特爾代工

    英特爾首推面向AI時代的系統(tǒng)級代工——英特爾代工(Intel Foundry),在技術(shù)、韌性和可持續(xù)性方面均處于領(lǐng)先地位。
    的頭像 發(fā)表于 02-25 10:38 ?584次閱讀
    <b class='flag-5'>英特爾</b>首推面向<b class='flag-5'>AI</b>時代的系統(tǒng)級代工—<b class='flag-5'>英特爾</b>代工