技術的傳播采用通常是由用戶體驗的飛躍引發的。例如,iPhone 促使智能手機和“應用商店”的快速普及。最近,TensorFlow 的易用性啟動了人工智能的大規模增長,幾乎觸及了我們今天日常生活的方方面面。
OpenVINO工具套件重新定義了采用英特爾技術設備上的 AI 推理能力,并獲得了廣大開發人員采用。如今,成千上萬的開發人員使用 OpenVINO 工具套件來加速幾乎所有可以想象到的 AI 推理應用場景,從人類視覺仿真,自動語音識別,自然語言處理,推薦系統等等。該工具包基于最新一代的人工神經網絡,包括卷積神經網絡 (CNN)、基于循環和注意力的網絡,擴展計算機視覺和非視覺工作負載,可跨英特爾 硬件(英特爾 CPU、英特爾集成顯卡 、英特爾 神經計算棒 2 和英特爾 視覺加速器設計與英特爾 Movidius VPU)從而最大限度地提高性能。它通過從邊緣部署到云的高性能、AI 和深度學習推理來加速應用。
我們很榮幸能與客戶/開發者合作,為他們的成功做出貢獻。透過不斷傾聽和創新,以滿足他們不斷變化的需求,同時也致力于提供世界一流的用戶體驗。因此,根據客戶反饋,在OpenVINO 工具套件的成功基礎上,我們將OpenVINO 與TensorFlow* 集成。
有在涉略 AI 邊緣運算的各位們對于 OpenVINO 應該都有基礎的了解:不同框架(如 TensorFlow、PyTorch 等)訓練完成的模型文件在經由 OpenVINO 轉換后可以在不同邊緣運算裝置執行推理加速。
若筆者告訴各位,現不用經過模型轉換可以直接在 TensorFlow 中推理時完成 OpenVINO 加速呢?
是的你沒看錯!英特爾在 2021 下半年推出的OpenVINO integration with TensorFlow(以下簡稱OVTF)能夠實現在 TensorFlow 中介接 OpenVINO 執行推理加速。
OpenVINO x TensorFlow幸福來得太突然
對 TensorFlow 開發人員的好處:不須轉換, 只需加 2 行代碼即可加速其 TensorFlow 模型的推理速度。
OpenVINO 與 TensorFlow* 的集成提供了增強 TensorFlow 兼容性所需的 OpenVINO 工具套件內聯優化和 run time。它專為使用OpenVINO 工具包的開發人員而設計 - 幫助提高其推理應用程序的性能 - 只需最少的代碼修改。它可以加速各種英特爾 芯片上許多 AI 模型的推理,例如:
英特爾中央處理器
英特爾集成顯卡
英特爾Movidius視覺處理單元 – 又稱 VPU
采用 8 個英特爾MovidiusMyriadX VPC 的英特爾視覺加速器設計 - 稱為 VAD-M 或 HDDL
利用此集成的開發人員可預期以下好處:
性能加速- 與原本 TensorFlow 相比(取決于底層硬件配置)
精度– 保持與原始模型幾乎相同的精度。
簡單性– 繼續使用 TensorFlow API 進行推理。無需重構代碼。只需導入,啟用和設置設備。
健壯性– 旨在支持各種操作系統 / Python 環境中的各種 TensorFlow 模型和運算符。
無縫加速- 內聯模型轉換 – 無需模型轉換。
輕量級占用空間– 所需的增量內存和磁盤占用空間極小。
支持廣泛的英特爾產品– CPU、iGPU、VPU (Myriad-X)。
注意:為獲得最佳性能、效率、工具定制和硬件控制,我們建議采用本機 OpenVINOAPI 及其run time運行。
如何實現?
開發人員可通過將以下兩行代碼添加到他們的 Python 代碼或 Jupyter Notebooks 中來大大加快 TensorFlow 模型的推理。
1import openvino_tensorflow
2openvino_tensorflow.set_backend
('')
支持的后端包括“CPU”,“GPU”,“MYRIAD”和“VAD-M”。參見圖1。
上面第一行嚴格來說不算指令,只匯入了 OpenVINO整合 TensorFlow 套件。而第二行呼叫了 openvino_tensorflow 設定后端運算硬件的指令,其中帶入的參數可以設定為CPU(Intel 處理器)、GPU(Intel 處理器中的集成式顯卡)、MYRIAD(AI加速芯片VPU)等。如此一來就已完成TensorFlow推理加速了。
示例代碼
以下是OpenVINO與 TensorFlow*集成的示例:
圖 1
它是如何達成的?
而其特別之處從架構圖看來可以得知在原始 TenorFlow 與 OpenVINOtoolkit 之間多增加了 Operator Capability Manager (OCM)、Graph Partitioner、 TensorFlow Importer 與 Backend Manager,讓前述二者可以渾然天成的結合在一起。簡單來說在執行推論時會對神經網絡各個運算進行判讀,是否能夠透過 OpenVINO進行加速,并讓其對應到 OpenVINO的相應的運算子,最后分配到指定的后端硬件進行運算,反之若是不行加速的運算則讓其返回在 TensorFlow 中處理。
個別功能作用細節可從 github repo 與說明文件進行深入探究。若不了解這些技術細節也不要緊,參考模型支持文件可以得知各個TensorFlow模型(包含 TF-Slim Classification、Object Detecion、 TF- Hub 等眾多來源)的支持程度,或是跟著我們接下來的步驟進行體驗一番!
圖2:OpenVINO integration with TensorFlow架構圖(https://github.com/openvinotoolkit/openvino_tensorflow/blob/master/docs/ARCHITECTURE.md)
OpenVINO與 TensorFlow*的集成通過將 TensorFlow 圖有效地劃分為多個子圖來提供加速的 TensorFlow 性能,然后將這些子圖調度到 TensorFlow 運行時或 OpenVINO運行時以實現最佳加速推理。最終組合出最終的推理結果。
圖 3:工作流的端到端概述
在邊緣和云端部署
OpenVINO與 TensorFlow 的集成適用于從云到邊緣的各種環境,只要底層硬件是英特爾平臺即可。適用于以下云平臺:
面向邊緣的英特爾 DevCloud
https://www.intel.com/content/www/us/en/developer/tools/devcloud/edge/build/ovtfoverview.html
AWS Deep Learning AMI Ubuntu 18 和 Ubuntu 20 on EC2 C5 實例,針對推理進行優化
https://github.com/openvinotoolkit/openvino_tensorflow/blob/master/docs/cloud_instructions/AWS_instructions.md
Azure ML
https://www.intel.com/content/www/us/en/developer/tools/devcloud/edge/build/ovtfoverview.html
谷歌實驗室
https://github.com/openvinotoolkit/openvino_tensorflow/tree/master/examples/notebooks
支持任何基于 AI 的邊緣設備。
示例在 gitrepo 的示例/ 目錄中提供。
這與使用原生OpenVINO
有何不同
OpenVINO與 TensorFlow*的集成使 TensorFlow 開發人員能夠以非常快速簡便的方式加速其 TensorFlow 模型推理 - 只需 2 行代碼。OpenVINO模型優化器可加速推理性能,以及豐富的集成開發人員工具和高級功能,但如前所述,為了獲得最佳性能,效率,工具定制和硬件控制,我們建議使用本機 OpenVINOAPI 及 run time 運行。
案例
以下客戶正在將 OpenVINO集成用于 TensorFlow 用于各種用例。以下是一些示例
Extreme Vision(極視角):極視角 的 CV MART 等專用 AI 云 https://www.cvmart.net/
可幫助數十萬開發人員提供豐富的服務、模型和框架目錄,從而在各種英特爾平臺(如 CPU 和 iGPU)上進一步優化其 AI 工作負載。與 AI 框架(如 OpenVINO 與 TensorFlow* 的集成)正確集成的易于使用的開發人員工具包可加速模型,從而提供兩全其美的優勢 - 提高推理速度以及以最小的更改重用已創建的 AI 推理代碼的能力。Extreme Vision 團隊正在測試OpenVINO 與TensorFlow* 的集成,目標是在 Extreme Vision 平臺上為 TensorFlow 開發人員提供支持。
由博德研究所開發的基因組分析工具包(GATK)是世界上使用最廣泛的變體調用開源工具包之一。Terra 是一個更安全,可擴展的開源平臺,供生物醫學研究人員訪問數據,運行分析工具和協作?;谠频钠脚_由麻省理工學院博德研究所與哈佛大學,微軟和 Verily 共同開發。Terra 平臺包括 GATK 工具和管道,供研究界運行其分析。CNNScoreVariants 是 GATK 中包含的深度學習工具之一,它應用卷積神經網絡來過濾帶注釋的變體。在一篇博客中,Broad Institute 展示了如何使用 OpenVINO 與TensorFlow* 集成來進一步加速 CNNScoreVariants 的推理性能。
結論
現在,您已了解了其優勢、工作原理、部署環境以及 OpenVINO與 TensorFlow 的集成與使用原生 OpenVINOAPI 的不同之處,相信你已迫不及待地想親自嘗試將 OpenVINO與 TensorFlow 集成,并在英特爾平臺上體驗 AI 模型的推理性能提升。與往常一樣,我們很樂意聽到您對此集成的反饋,請通過 OpenVINO-tensorflow@intel.com 與我們聯系或在 gitrepo 中提出問題。謝謝!
審核編輯 :李倩
-
深度學習
+關注
關注
73文章
5503瀏覽量
121162 -
tensorflow
+關注
關注
13文章
329瀏覽量
60536
原文標題:OpenVINO? 整合TensorFlow實現推理加速 | 開發者實戰
文章出處:【微信號:英特爾中國,微信公眾號:英特爾中國】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論