99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

用于加速嵌入式視覺和推理的開放標(biāo)準(zhǔn)

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

poYBAGK9F-SADt0FAAJcmCrFjKc432.png

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

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

poYBAGK9F-uAGfTaAAIJO1aJglE410.png

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

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

讓我們更詳細(xì)地了解其中的一些 Khronos 標(biāo)準(zhǔn)。

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

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

poYBAGK9F_SAaFvGAAI66OcXC40066.png

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

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

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

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

poYBAGK9F_2AKJOCAASIT151abE059.png

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

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

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

OpenVX – 便攜式加速視覺處理

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

poYBAGK9GAaAdwqCAAJ1o95EBn4346.png

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

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

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

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

poYBAGK9GA-AejlFAAEcvcdSvok868.png

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

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

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

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    19890

    瀏覽量

    235124
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1662

    瀏覽量

    50207
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8502

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

    ARM架構(gòu)嵌入式主板特點(diǎn)

    嵌入式主板可以理解為嵌入在設(shè)備中用于控制和數(shù)據(jù)處理的CPU板,也就是設(shè)備的“大腦”。當(dāng)主板嵌入到設(shè)備中,當(dāng)然對(duì)主板的體積和功耗會(huì)有更嚴(yán)格的要求(嵌入
    的頭像 發(fā)表于 12-31 16:03 ?1002次閱讀
    ARM架構(gòu)<b class='flag-5'>嵌入式</b>主板特點(diǎn)

    什么是嵌入式人工智能

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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