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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

每個(gè)行業(yè)都需要開(kāi)放標(biāo)準(zhǔn),通過(guò)增加生態(tài)系統(tǒng)元素之間的互操作性來(lái)降低成本和縮短上市時(shí)間。開(kāi)放標(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)大的開(kāi)放標(biāo)準(zhǔn)源于行業(yè)對(duì)成熟技術(shù)的更廣泛需求,可以提供健康、激勵(lì)的競(jìng)爭(zhēng)。從長(zhǎng)遠(yuǎn)來(lái)看,不受任何一家公司控制或依賴于任何一家公司的開(kāi)放標(biāo)準(zhǔn)通??梢噪S著技術(shù)、平臺(tái)和市場(chǎng)地位的旋轉(zhuǎn)和演變而成為行業(yè)向前發(fā)展的連續(xù)性線索。

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

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

許多互操作部分需要協(xié)同工作來(lái)訓(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)過(guò)訓(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í)編譯器。無(wú)論使用引擎還是編譯器,最后一步都是在從 GPU 到專用張量處理器的各種加速器架構(gòu)之一上加速推理代碼。

pYYBAGL55EiAR1qpAAJsU7-b5tg203.png

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

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

poYBAGL55FOATFliAAIUQ-kcBdE416.png

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

從廣義上講,這些標(biāo)準(zhǔn)可以分為兩組:高級(jí)和低級(jí)。高級(jí) API 側(cè)重于易于編程,具有跨多個(gè)硬件架構(gòu)的有效性能可移植性。相比之下,低級(jí) API 提供對(duì)硬件資源的直接、顯式訪問(wèn),以實(shí)現(xiàn)最大的靈活性和控制。每個(gè)項(xiàng)目都必須了解最適合其開(kāi)發(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ù)來(lái)調(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 是通過(guò)較低級(jí)別的 OpenCL 標(biāo)準(zhǔn) API 實(shí)現(xiàn)的:將用于加速的代碼提供給 OpenCL,而剩余的主機(jī)代碼則通過(guò)系統(tǒng)的默認(rèn) CPU 編譯器提供。

pYYBAGL55FyACtofAAJERSqjd9Y181.png

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

越來(lái)越多的 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 等等,并且都使用專有格式來(lái)描述他們訓(xùn)練的網(wǎng)絡(luò)。還有數(shù)十種甚至數(shù)百種嵌入式推理處理器進(jìn)入市場(chǎng)。迫使許多硬件供應(yīng)商理解和導(dǎo)入如此多的格式是一個(gè)典型的碎片問(wèn)題,可以通過(guò)如圖 4 所示的開(kāi)放標(biāo)準(zhǔn)來(lái)解決。

pYYBAGL55GWALpnsAAQW2V6fJME861.png

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

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

NNEF 并不是業(yè)界唯一的神經(jīng)網(wǎng)絡(luò)交換格式,ONNX 是由 Facebook 和微軟共同創(chuàng)立的開(kāi)源項(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ā)展的開(kāi)源工具生態(tài)系統(tǒng),包括來(lái)自關(guān)鍵框架的導(dǎo)入器和導(dǎo)出器以及一個(gè)模型動(dòng)物園,以使硬件開(kāi)發(fā)人員能夠測(cè)試他們的推理解決方案。

OpenVX – 便攜式加速視覺(jué)處理

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

poYBAGL55G2AQRB5AAJ7UTKJOIU058.png

圖 5. OpenVX 圖可以描述從 NNEF 文件導(dǎo)入的視覺(jué)節(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ǔ)言來(lái)構(gòu)建內(nèi)核程序,這些內(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 所示。

poYBAGL55HaAeFzMAAEivinRwn8848.png

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

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

OpenCL 最初是為在高端 PC 和超級(jí)計(jì)算機(jī)硬件上執(zhí)行而設(shè)計(jì)的,但在與 OpenVX 類似的演變過(guò)程中,需要 OpenCL 的處理器越來(lái)越小,精度也越來(lái)越低,因?yàn)樗鼈円赃吘壱曈X(jué)和推理為目標(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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19899

    瀏覽量

    235419
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19678

    瀏覽量

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

    關(guān)注

    66

    文章

    8505

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    嵌入式視覺(jué)的發(fā)展機(jī)遇

    相類似,嵌入式視覺(jué)技術(shù)有望在今后10年得到廣泛應(yīng)用。 很明顯,嵌入式視覺(jué)技術(shù)能夠?yàn)槎喾N應(yīng)用帶來(lái)巨大的價(jià)值(圖1)。兩個(gè)例子是,Mobileye基于
    發(fā)表于 05-16 10:45

    嵌入式機(jī)器視覺(jué)系統(tǒng)有什么特性?怎么優(yōu)化?

    介紹了基于ARM+DSP架構(gòu)的嵌入式機(jī)器視覺(jué)系統(tǒng)的特性,分析了制約嵌入式機(jī)器視覺(jué)系統(tǒng)性能的因素。從操作系統(tǒng)和應(yīng)用程序方面,討論了嵌入式機(jī)器
    發(fā)表于 03-11 06:47

    淺析MATLAB和Simulink嵌入式視覺(jué)應(yīng)用

    的 MATLAB 和 Simulink 工具,為嵌入式視覺(jué)系統(tǒng)設(shè)計(jì)算法和系統(tǒng)模型。借助用于采集攝像機(jī)和其他傳感器實(shí)時(shí)圖像和視頻數(shù)據(jù)的應(yīng)用程序,以及用于處理、分析、仿真和可視化這些數(shù)據(jù)的
    發(fā)表于 12-04 08:00

    嵌入式視覺(jué)標(biāo)準(zhǔn)視覺(jué)有哪些差異呢

    嵌入式視覺(jué)”與標(biāo)準(zhǔn)機(jī)器視覺(jué)系統(tǒng)之間的明顯區(qū)別有時(shí)并不容易。進(jìn)行分類的一種方法是將它們分解為三個(gè)部分。第一部分:包括帶攝像頭和獨(dú)立PC的經(jīng)典視覺(jué)
    發(fā)表于 12-23 06:41

    嵌入式視覺(jué)的最新趨勢(shì)討論

    Xilinx嵌入式視覺(jué)戰(zhàn)略營(yíng)銷總監(jiān)Aaron Behman討論了嵌入式視覺(jué)的最新趨勢(shì)以及Xilinx如何為高性能圖像處理提供最靈活,基于標(biāo)準(zhǔn)
    的頭像 發(fā)表于 11-22 06:31 ?3172次閱讀

    嵌入式視覺(jué)系統(tǒng)和標(biāo)準(zhǔn)的有什么不同

    嵌入式視覺(jué)”與標(biāo)準(zhǔn)機(jī)器視覺(jué)系統(tǒng)之間的明顯區(qū)別有時(shí)并不容易。
    發(fā)表于 09-11 11:04 ?605次閱讀

    嵌入式技術(shù)無(wú)處不在,嵌入式視覺(jué)系統(tǒng)的簡(jiǎn)介

    嵌入式視覺(jué)指的是機(jī)器通過(guò)視覺(jué)手段來(lái)理解周圍的環(huán)境,嵌入式視覺(jué)是兩項(xiàng)技術(shù)的整合,即嵌入式系統(tǒng)和計(jì)算
    發(fā)表于 03-12 11:08 ?1398次閱讀

    嵌入式機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)

    嵌入式機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)(嵌入式開(kāi)發(fā)需要學(xué)什么)-該文檔為嵌入式機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)簡(jiǎn)介資料,講解的還不錯(cuò),感興趣的可以下載看看………………………
    發(fā)表于 07-30 09:02 ?16次下載
    <b class='flag-5'>嵌入式</b>機(jī)器<b class='flag-5'>視覺(jué)</b>系統(tǒng)設(shè)計(jì)

    深度解讀嵌入式視覺(jué)的幾個(gè)典型應(yīng)用

    引言 如何做AI視覺(jué)應(yīng)用的嵌入式部署分為硬件選型,軟件框架和優(yōu)化的選擇,模型算法的設(shè)計(jì)三大板塊。 AI視覺(jué)應(yīng)用云端部署VS嵌入式端部署 大家其實(shí)對(duì)于AI深度學(xué)習(xí)已經(jīng)很熟悉了,我們?cè)诜?wù)
    的頭像 發(fā)表于 09-23 16:38 ?2439次閱讀

    淺析MATLAB和Simulink嵌入式視覺(jué)應(yīng)用

    嵌入式視覺(jué)是什么? 嵌入式視覺(jué)是指將圖像處理和計(jì)算機(jī)視覺(jué)應(yīng)用到嵌入式系統(tǒng)。
    的頭像 發(fā)表于 11-22 14:04 ?4318次閱讀
    淺析MATLAB和Simulink<b class='flag-5'>嵌入式</b><b class='flag-5'>視覺(jué)</b>應(yīng)用

    用于加速嵌入式視覺(jué)推理開(kāi)放標(biāo)準(zhǔn)

      OpenCL 在整個(gè)行業(yè)中廣泛使用,為計(jì)算、視覺(jué)和機(jī)器學(xué)習(xí)庫(kù)、引擎和編譯器提供最低的“接近金屬”執(zhí)行層。
    的頭像 發(fā)表于 06-06 16:29 ?1354次閱讀
    <b class='flag-5'>用于</b><b class='flag-5'>加速</b><b class='flag-5'>嵌入式</b><b class='flag-5'>視覺(jué)</b>和<b class='flag-5'>推理</b>的<b class='flag-5'>開(kāi)放</b><b class='flag-5'>標(biāo)準(zhǔn)</b>

    用于加速嵌入式視覺(jué)推理開(kāi)放標(biāo)準(zhǔn)

      OpenCL 在整個(gè)行業(yè)中廣泛使用,為計(jì)算、視覺(jué)和機(jī)器學(xué)習(xí)庫(kù)、引擎和編譯器提供最低的“接近金屬”執(zhí)行層。
    的頭像 發(fā)表于 06-30 11:23 ?919次閱讀
    <b class='flag-5'>用于</b><b class='flag-5'>加速</b><b class='flag-5'>嵌入式</b><b class='flag-5'>視覺(jué)</b>和<b class='flag-5'>推理</b>的<b class='flag-5'>開(kāi)放</b><b class='flag-5'>標(biāo)準(zhǔn)</b>

    用于加速嵌入式視覺(jué)推理開(kāi)放標(biāo)準(zhǔn)

      OpenCL 在整個(gè)行業(yè)中廣泛使用,為計(jì)算、視覺(jué)和機(jī)器學(xué)習(xí)庫(kù)、引擎和編譯器提供最低的“接近金屬”執(zhí)行層。
    的頭像 發(fā)表于 07-08 16:07 ?770次閱讀
    <b class='flag-5'>用于</b><b class='flag-5'>加速</b><b class='flag-5'>嵌入式</b><b class='flag-5'>視覺(jué)</b>和<b class='flag-5'>推理</b>的<b class='flag-5'>開(kāi)放</b><b class='flag-5'>標(biāo)準(zhǔn)</b>

    開(kāi)放式加速標(biāo)準(zhǔn)如何推動(dòng)安全關(guān)鍵型發(fā)展

      嵌入式產(chǎn)品中越來(lái)越多地使用計(jì)算、視覺(jué)推理加速的集成帶來(lái)了重大的新商機(jī),Khronos 正在開(kāi)發(fā)一個(gè)不斷增長(zhǎng)的開(kāi)放、免版稅 API
    的頭像 發(fā)表于 08-17 09:21 ?1048次閱讀
    <b class='flag-5'>開(kāi)放式</b><b class='flag-5'>加速</b><b class='flag-5'>標(biāo)準(zhǔn)</b>如何推動(dòng)安全關(guān)鍵型發(fā)展

    加速嵌入式視覺(jué)推理開(kāi)放標(biāo)準(zhǔn):行業(yè)概述

    許多互操作部分需要協(xié)同工作來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),并將其成功部署在嵌入式加速推理平臺(tái)上,如圖 1 所示。有效的神經(jīng)網(wǎng)絡(luò)訓(xùn)練通常需要大型數(shù)據(jù)集,使用浮點(diǎn)精度,并在功能強(qiáng)大的 GPU 加速桌面機(jī)器
    的頭像 發(fā)表于 11-29 16:33 ?841次閱讀
    <b class='flag-5'>加速</b><b class='flag-5'>嵌入式</b><b class='flag-5'>視覺(jué)</b>和<b class='flag-5'>推理</b>的<b class='flag-5'>開(kāi)放</b><b class='flag-5'>標(biāo)準(zhǔn)</b>:行業(yè)概述