一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

用于加速嵌入式視覺和推理的開放標準

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Neil Trevett ? 2022-06-06 16:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

機器學(xué)習(xí)領(lǐng)域的不斷發(fā)展為部署利用神經(jīng)網(wǎng)絡(luò)推理的設(shè)備和應(yīng)用程序創(chuàng)造了新的機會,這些設(shè)備和應(yīng)用程序具有前所未有的基于視覺的功能和準確性水平。但是,快速發(fā)展的領(lǐng)域已經(jīng)讓位于處理器、加速器和庫的混亂局面。本文介紹了開放互操作性標準及其在降低成本和降低在實際產(chǎn)品中使用推理和視覺加速的障礙方面的作用。

每個行業(yè)都需要開放標準,通過增加生態(tài)系統(tǒng)元素之間的互操作性來降低成本和縮短上市時間。開放標準和專有技術(shù)具有復(fù)雜且相互依存的關(guān)系。專有 API接口通常是達爾文式的試驗場,并且可以在智能市場領(lǐng)導(dǎo)者手中保持主導(dǎo)地位,這是理所當然的。強大的開放標準源于行業(yè)對成熟技術(shù)的更廣泛需求,可以提供健康、激勵的競爭。從長遠來看,不受任何一家公司控制或依賴于任何一家公司的開放標準通??梢猿蔀樾袠I(yè)向前發(fā)展的連續(xù)性線索,因為技術(shù)、平臺和市場地位不斷變化和發(fā)展。

Khronos Group 是一個非營利性標準聯(lián)盟,任何公司都可以加入,擁有超過 150 名成員。所有標準組織的存在都是為了為競爭者提供一個安全的場所,讓他們?yōu)榱怂腥说睦孢M行合作。Khronos Group 的專業(yè)領(lǐng)域是創(chuàng)建開放、免版稅的 API 標準,使軟件應(yīng)用程序庫和引擎能夠利用硅加速的力量來滿足要求苛刻的用例,例如 3D 圖形、并行計算、視覺處理和推理。

創(chuàng)建嵌入式機器學(xué)習(xí)應(yīng)用程序

許多互操作部分需要協(xié)同工作來訓(xùn)練神經(jīng)網(wǎng)絡(luò)并將其成功部署在嵌入式加速推理平臺上——如圖 1 所示。有效的神經(jīng)網(wǎng)絡(luò)訓(xùn)練通常需要大型數(shù)據(jù)集,使用浮點精度并在強大的 GPU 上運行- 加速臺式機或云端。訓(xùn)練完成后,經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)將被引入為快速張量操作優(yōu)化的推理運行時引擎,或?qū)⑸窠?jīng)網(wǎng)絡(luò)描述轉(zhuǎn)換為可執(zhí)行代碼的機器學(xué)習(xí)編譯器。無論使用引擎還是編譯器,最后一步都是在從 GPU 到專用張量處理器的各種加速器架構(gòu)之一上加速推理代碼。

pYYBAGKduxuANEM3AAL-yWoM4GE752.png

圖 1. 訓(xùn)練神經(jīng)網(wǎng)絡(luò)并將其部署在加速推理平臺上的步驟

那么,行業(yè)開放標準如何幫助簡化這一過程呢?圖 2. 說明了在視覺和推理加速領(lǐng)域中使用的 Khronos 標準??偟膩碚f,隨著處理器頻率擴展讓位于并行編程作為以可接受的成本和功率水平提供所需性能的最有效方式,人們對所有這些標準的興趣越來越大。

pYYBAGKduyOAOZejAAKLK-4-C7Y915.png

圖 2. 用于加速視覺和推理應(yīng)用程序和引擎的 Khronos 標準

從廣義上講,這些標準可以分為兩組:高級和低級。高級 API 側(cè)重于易于編程,具有跨多個硬件架構(gòu)的有效性能可移植性。相比之下,低級 API 提供對硬件資源的直接、顯式訪問,以實現(xiàn)最大的靈活性和控制。每個項目都必須了解最適合其開發(fā)需求的 API 級別。此外,高級 API 通常會在其實現(xiàn)中使用低級 API。

讓我們更詳細地了解其中的一些 Khronos 標準。

SYCL - C++ 單源異構(gòu)編程

SYCL(發(fā)音為“鐮刀”)使用 C++ 模板庫來調(diào)度標準 ISO C++ 應(yīng)用程序的選定部分以卸載處理器。SYCL 使復(fù)雜的 C++ 機器學(xué)習(xí)框架和庫能夠直接編譯并加速到在許多情況下優(yōu)于手動調(diào)整代碼的性能水平。如圖 3 所示,默認情況下,SYCL 是通過較低級別的 OpenCL 標準 API 實現(xiàn)的:將用于加速的代碼提供給 OpenCL,而剩余的主機代碼則通過系統(tǒng)的默認 CPU 編譯器提供。

pYYBAGKduyuATYb1AALO79Gi2Zw311.png

圖 3. SYCL 將標準 C++ 應(yīng)用程序拆分為 CPU 和 OpenCL 加速代碼

越來越多的 SYCL 實現(xiàn),其中一些使用專有后端,例如 NVIDIA 的 CUDA 用于加速代碼。值得注意的是,英特爾的新 oneAPI Initiative 包含一個名為 DPC++ 的并行 C++ 編譯器,它是基于 OpenCL 的符合 SYCL 實現(xiàn)。

NNEF——神經(jīng)網(wǎng)絡(luò)交換格式

當今使用的神經(jīng)網(wǎng)絡(luò)訓(xùn)練框架有數(shù)十種,包括 Torch、Caffe、TensorFlow、Theano、Chainer、Caffe2、PyTorch 和 MXNet 等等,并且都使用專有格式來描述他們訓(xùn)練的網(wǎng)絡(luò)。還有數(shù)十種甚至數(shù)百種嵌入式推理處理器進入市場。迫使許多硬件供應(yīng)商理解和導(dǎo)入如此多的格式是一個典型的碎片問題,可以通過如圖 4 所示的開放標準來解決。

poYBAGKduzKACNpEAAUMj32pS5g735.png

圖 4. NNEF 神經(jīng)網(wǎng)絡(luò)交換格式通過推理加速器簡化訓(xùn)練網(wǎng)絡(luò)的攝取

NNEF 文件格式旨在在網(wǎng)絡(luò)訓(xùn)練和推理芯片領(lǐng)域之間架起一座有效的橋梁——Khronos 久經(jīng)考驗的多公司治理模型為硬件社區(qū)提供了關(guān)于格式如何以滿足需求的方式發(fā)展的強烈聲音。開發(fā)處理器工具鏈和框架的公司,通常在安全關(guān)鍵市場。

NNEF 并不是業(yè)界唯一的神經(jīng)網(wǎng)絡(luò)交換格式,ONNX 是由 Facebook 和微軟共同創(chuàng)立的開源項目,是一種被廣泛采用的格式,主要專注于訓(xùn)練框架之間的網(wǎng)絡(luò)交換。NNEF 和 ONNX 是互補的,因為 ONNX 跟蹤培訓(xùn)創(chuàng)新和機器學(xué)習(xí)研究社區(qū)的快速變化,而 NNEF 的目標是嵌入式推理硬件供應(yīng)商,這些供應(yīng)商需要一種具有更深思熟慮的路線圖演變的格式。Khronos 圍繞 NNEF 發(fā)起了一個不斷發(fā)展的開源工具生態(tài)系統(tǒng),包括來自關(guān)鍵框架的導(dǎo)入器和導(dǎo)出器以及一個模型動物園,以使硬件開發(fā)人員能夠測試他們的推理解決方案。

OpenVX – 便攜式加速視覺處理

OpenVX(VX 代表“視覺加速”)通過提供圖形級抽象來簡化視覺和推理軟件的開發(fā),使程序員能夠通過連接一組函數(shù)或“節(jié)點”來構(gòu)建他們所需的功能。這種高級抽象使芯片供應(yīng)商能夠非常有效地優(yōu)化他們的 OpenVX 驅(qū)動程序,以便在幾乎任何處理器架構(gòu)上高效執(zhí)行。隨著時間的推移,OpenVX 在原始視覺節(jié)點旁邊添加了推理功能——畢竟神經(jīng)網(wǎng)絡(luò)只是另一個圖!通過將 NNEF 訓(xùn)練的網(wǎng)絡(luò)直接導(dǎo)入 OpenVX 圖中,OpenVX 和 NNEF 之間的協(xié)同作用越來越大,如圖 5 所示。

pYYBAGKduzqADfXJAAMNQ-SQs3w464.png

圖 5. OpenVX 圖可以描述從 NNEF 文件導(dǎo)入的視覺節(jié)點和推理操作的任意組合

OpenVX 1.3 于 2019 年 10 月發(fā)布,使針對垂直細分市場(例如推理)的精心挑選的規(guī)范子集能夠被實施和測試,使其符合官方標準。OpenVX 還與 OpenCL 深度集成,使程序員能夠添加自己的自定義加速節(jié)點以在 OpenVX 圖形中使用 - 提供簡單的可編程性和可定制性的獨特組合。

OpenCL – 異構(gòu)并行編程

OpenCL 是一種低級標準,用于對 PC、服務(wù)器、移動設(shè)備和嵌入式設(shè)備中的各種異構(gòu)處理器進行跨平臺并行編程。OpenCL 提供基于 C 和 C++ 的語言來構(gòu)建內(nèi)核程序,這些程序可以在具有 OpenCL 編譯器的系統(tǒng)中的任何處理器上并行編譯和執(zhí)行,從而為程序員明確控制在哪些處理器上執(zhí)行哪些內(nèi)核。OpenCL 運行時協(xié)調(diào)加速器設(shè)備的發(fā)現(xiàn),為選定的設(shè)備編譯內(nèi)核,以復(fù)雜的同步級別執(zhí)行內(nèi)核并收集結(jié)果,如圖 6 所示。

poYBAGKdu0KAAVI9AAFoDKDuEmc362.png

圖 6. OpenCL 使 C 或 C++ 內(nèi)核程序能夠跨異構(gòu)處理器的任意組合并行編譯和執(zhí)行

OpenCL 在整個行業(yè)中廣泛使用,為計算、視覺和機器學(xué)習(xí)庫、引擎和編譯器提供最低的“接近金屬”執(zhí)行層。

OpenCL 最初是為在高端 PC 和超級計算機硬件上執(zhí)行而設(shè)計的,但在與 OpenVX 類似的演變過程中,需要 OpenCL 的處理器越來越小,精度也越來越低,因為它們以邊緣視覺和推理為目標。OpenCL 工作組正在努力定義為嵌入式處理器量身定制的功能,并使供應(yīng)商能夠交付針對關(guān)鍵功耗和成本敏感用例的選定功能,并且完全符合要求。

關(guān)于作者:

Neil Trevett 是 NVIDIA 開發(fā)者生態(tài)系統(tǒng)副總裁,他幫助應(yīng)用程序利用先進的 GPU 和芯片加速。Neil is also the elected President of the Khronos Group, where he initiated the OpenGL ES standard used by billions worldwide every day, helped catalyze the WebGL and glTF projects to bring interactive 3D graphics to the Web, fostered the creation of the OpenVX standard for vision和推理加速,并主持定義異構(gòu)并行計算的開放標準的 OpenCL 工作組。在 NVIDIA Neil 站在將交互式 3D 引入 PC 的硅革命的最前沿,他建立了 3Dlabs 的嵌入式圖形部門,為各種非 PC 平臺帶來先進的視覺處理。

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    19874

    瀏覽量

    234732
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4936

    瀏覽量

    131090
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8500

    瀏覽量

    134479
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Linux嵌入式和單片機嵌入式的區(qū)別?

    區(qū)別 單片機嵌入式系統(tǒng)和Linux嵌入式系統(tǒng)是兩種不同的嵌入式系統(tǒng)開發(fā)方式,它們在應(yīng)用領(lǐng)域、開發(fā)環(huán)境、資源需求等方面都有顯著的區(qū)別。以下是它們的主要區(qū)別: 1.應(yīng)用領(lǐng)域: 單片機嵌入式
    發(fā)表于 06-20 09:46

    嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式

    隨著物聯(lián)網(wǎng)、智能硬件的發(fā)展,嵌入式開發(fā)成為熱門技能之一。以下將為初學(xué)者提供一份詳細的嵌入式開發(fā)入門指南,涵蓋學(xué)習(xí)路徑、必備工具、推薦資源等內(nèi)容。 1. 嵌入式系統(tǒng)的定義與應(yīng)用嵌入式系統(tǒng)
    發(fā)表于 05-15 09:29

    使用Lattice mVision打造嵌入式視覺系統(tǒng)解決方案

    嵌入式視覺嵌入式系統(tǒng)與機器視覺技術(shù)的集合,嵌入式視覺系統(tǒng)硬件集成攝像頭模組和處理板,將圖像捕獲
    的頭像 發(fā)表于 03-06 16:09 ?791次閱讀

    什么是嵌入式人工智能

    嵌入式人工智能是指將人工智能技術(shù)應(yīng)用于嵌入式系統(tǒng)中的一種技術(shù)。嵌入式系統(tǒng)是嵌入到其他設(shè)備或系統(tǒng)中的計算機系統(tǒng),通常
    的頭像 發(fā)表于 12-11 09:23 ?976次閱讀
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式超火的方向有哪些?

    目前,隨著全球物聯(lián)網(wǎng)設(shè)備的大量使用和ChatGpt等AI大模型的出現(xiàn),嵌入式系統(tǒng)市場目前呈現(xiàn)出快速發(fā)展的趨勢,各種嵌入式系統(tǒng)被廣泛應(yīng)用于汽車、醫(yī)療、農(nóng)業(yè)、工業(yè)自動化、安防監(jiān)控等領(lǐng)域。但目前嵌入
    發(fā)表于 11-21 15:49

    嵌入式和人工智能究竟是什么關(guān)系?

    、連接主義和深度學(xué)習(xí)等不同的階段。目前,人工智能已經(jīng)廣泛應(yīng)用于各種領(lǐng)域,如自然語言處理、計算機視覺、智能推薦等。 嵌入式系統(tǒng)和人工智能在許多方面都存在密切的關(guān)聯(lián)性。首先,嵌入式系統(tǒng)可
    發(fā)表于 11-14 16:39

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計算機的硬件和軟件嵌入到某種設(shè)備或系統(tǒng)中,以實現(xiàn)特定功能的計算
    的頭像 發(fā)表于 10-16 10:14 ?2563次閱讀

    AMD 面向嵌入式系統(tǒng)推出高能效 EPYC 嵌入式 8004 系列

    AMD 憑借其 EPYC? 嵌入式處理器不斷樹立行業(yè)標準,為網(wǎng)絡(luò)、存儲和工業(yè)應(yīng)用提供卓越的性能、效率、連接與創(chuàng)新。今天,我們正以第四代 AMD EPYC 嵌入式 8004 系列處理器擴展這一
    發(fā)表于 10-11 13:58 ?1047次閱讀

    ARMxy嵌入式計算機在機器視覺中的卓越表現(xiàn)

    嵌入式視覺是指在嵌入式系統(tǒng)中使用計算機視覺技術(shù),與經(jīng)常所說的機器視覺系統(tǒng)的區(qū)別在于嵌入式
    的頭像 發(fā)表于 10-10 14:47 ?537次閱讀
    ARMxy<b class='flag-5'>嵌入式</b>計算機在機器<b class='flag-5'>視覺</b>中的卓越表現(xiàn)

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計算機硬件,其設(shè)計旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式主板如同是設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?1591次閱讀

    飛凌嵌入式「在線文檔」功能上線 | 開放靈活,盡在掌握

    在忙碌的研發(fā)過程中,效率十分關(guān)鍵,飛凌嵌入式深知“便捷獲取最新資料”的重要性,為此全新上線【在線文檔】功能——進入飛凌嵌入式官網(wǎng),產(chǎn)品資料全面升級為在線文檔形式,旨在為客戶帶來更加開放與靈活的使用體驗。
    的頭像 發(fā)表于 09-13 09:46 ?605次閱讀
    飛凌<b class='flag-5'>嵌入式</b>「在線文檔」功能上線 | <b class='flag-5'>開放</b>靈活,盡在掌握

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺,它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。 嵌入式Linux開發(fā)板概述
    的頭像 發(fā)表于 09-02 09:07 ?802次閱讀

    用于標準嵌入式網(wǎng)絡(luò),CANopen有什么不同?

    ,CANopen定義了應(yīng)用層的通信規(guī)則,因此特別適用于需要標準化設(shè)備配置和網(wǎng)絡(luò)管理的嵌入式網(wǎng)絡(luò)。 ? CANopen協(xié)議簡介 1994年發(fā)布的國際標準ISO 11898-2定義了CAN
    的頭像 發(fā)表于 08-22 01:19 ?4061次閱讀

    Astra? SL系列SL1680詳細介紹,嵌入式物聯(lián)網(wǎng)處理器

    Astra? SL系列嵌入式處理器是高度集成的AI原生Linux?和Android?的片上系統(tǒng)(SoC),針對多模式消費者、企業(yè)和工業(yè)物聯(lián)網(wǎng)工作負載進行硬件優(yōu)化,并配備了邊緣推理、安全、視頻、圖形
    的頭像 發(fā)表于 08-15 10:32 ?582次閱讀
    Astra? SL系列SL1680詳細介紹,<b class='flag-5'>嵌入式</b>物聯(lián)網(wǎng)處理器

    機器視覺嵌入式中的應(yīng)用

    機器視覺嵌入式系統(tǒng)中的應(yīng)用是一個廣泛而深入的話題,涉及到許多不同的領(lǐng)域和技術(shù)。 機器視覺嵌入式系統(tǒng)中的應(yīng)用 1. 引言 機器視覺是一種模
    的頭像 發(fā)表于 07-16 10:30 ?957次閱讀