欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

如何通過FPGA和軟件開發(fā)工具包(SDK)創(chuàng)建邊緣AI應(yīng)用

電子設(shè)計 ? 來源:Microchip ? 作者:Microchip ? 2021-02-21 11:57 ? 次閱讀

邊緣推理處理器實現(xiàn)人工智能AI算法的設(shè)計人員不斷需要降低功耗和開發(fā)時間,即使處理需求不斷增加。現(xiàn)場可編程門陣列(FPGA)提供了速度和功率效率的有效組合,用于實現(xiàn)邊緣AI所需的神經(jīng)網(wǎng)絡(luò)(NN)推理引擎。但是,對于不熟悉FPGA的開發(fā)人員,常規(guī)的FPGA開發(fā)方法似乎很復(fù)雜,通常會導(dǎo)致開發(fā)人員轉(zhuǎn)向不太理想的解決方案。

本文介紹了Microchip Technology的一種簡單方法,該方法使開發(fā)人員可以繞過傳統(tǒng)的FPGA開發(fā),使用FPGA和軟件開發(fā)工具包(SDK)創(chuàng)建經(jīng)過訓(xùn)練的NN,或者使用基于FPGA的視頻工具包執(zhí)行智能嵌入式視覺應(yīng)用程序開發(fā)。

為什么要在邊緣使用AI?

邊緣計算為工業(yè)自動化,安全系統(tǒng),智能家居等各個領(lǐng)域的物聯(lián)網(wǎng)IoT)應(yīng)用程序帶來了許多好處。在針對工廠的工業(yè)物聯(lián)網(wǎng)(IIoT)應(yīng)用程序中,邊緣計算可消除對基于云應(yīng)用程序的往返延遲,從而改善過程控制回路中的響應(yīng)時間。同樣,即使意外或有意斷開與云的連接,基于邊緣的安全系統(tǒng)或智能家庭門鎖也可以繼續(xù)運行。在許多情況下,在任何這些應(yīng)用程序中使用邊緣計算都可以通過減少產(chǎn)品對云資源的依賴來幫助降低總運營成本。隨著產(chǎn)品需求的增加,開發(fā)人員不必面對額外的昂貴云資源的意外需求,而是可以依靠產(chǎn)品內(nèi)置的本地處理功能來幫助維持更穩(wěn)定的運營支出。

機器學(xué)習(xí)(ML)推理模型的快速接受和需求的增加極大地增強了邊緣計算的重要性。對于開發(fā)人員,推理模型的本地處理有助于減少響應(yīng)延遲和基于云的推理所需的云資源成本。對于用戶而言,使用本地推理模型可以增強信心,即使偶爾出現(xiàn)網(wǎng)絡(luò)連接中斷或產(chǎn)品供應(yīng)商基于云的產(chǎn)品發(fā)生變化,其產(chǎn)品仍將繼續(xù)運行。此外,對安全性和隱私的關(guān)注會進(jìn)一步推動對本地處理和推理的需求,以限制通過公共Internet傳輸?shù)皆频拿舾?a target="_blank">信息的數(shù)量。

開發(fā)用于基于視覺的對象檢測的NN推理模型是一個多步驟過程,從模型訓(xùn)練開始,通常使用公開可用的標(biāo)記圖像或自定義標(biāo)記圖像在ML框架(例如TensorFlow)上執(zhí)行。由于處理需求,通常使用云或其他高性能計算平臺中的圖形處理單元(GPU)進(jìn)行模型訓(xùn)練。在完成訓(xùn)練之后,該模型將轉(zhuǎn)換為能夠在邊緣或霧計算資源上運行的推理模型,并將推理結(jié)果作為一組對象類概率提供(圖1)。

圖1:為邊緣AI實現(xiàn)推理模型位于多步驟過程的結(jié)尾,該過程需要使用可用或自定義訓(xùn)練數(shù)據(jù)在框架上對NN進(jìn)行訓(xùn)練和優(yōu)化。(圖片來源:Microchip Technology)

為什么推理模型在計算上具有挑戰(zhàn)性

盡管與訓(xùn)練過程中使用的模型相比,其大小和復(fù)雜度有所降低,但由于需要大量計算,因此NN推理模型仍然對通用處理器提出了計算難題。在其通用形式中,深度NN模型包括多層神經(jīng)元集合。在完全連接的網(wǎng)絡(luò)的每一層中,每個神經(jīng)元都需要計算每個輸入的乘積和相關(guān)的權(quán)重(圖2)。

圖2:使用NN進(jìn)行推理所需的計算數(shù)量可能會導(dǎo)致大量的計算工作。 (圖片來源:Microchip Technology)

圖2中未顯示激活函數(shù)所施加的額外計算要求,該函數(shù)通過將負(fù)值映射為零,將值映射為大于1到1以及類似的函數(shù)來修改每個神經(jīng)元的輸出。每個神經(jīng)元nij的激活函數(shù)的輸出用作下一層i + 1的輸入,以這種方式在每一層繼續(xù)。最終,NN模型的輸出層生成一個輸出向量,該輸出向量表示原始輸入向量(或矩陣)對應(yīng)于在監(jiān)督學(xué)習(xí)過程中使用的類(或標(biāo)簽)之一的概率。

有效的NN模型是使用比典型的通用NN拱形更大,更復(fù)雜的架構(gòu)構(gòu)建的。例如,用于圖像對象檢測的典型卷積神經(jīng)網(wǎng)絡(luò)(CNN)以分段方式應(yīng)用這些原理,跨輸入圖像的寬度,高度和顏色深度進(jìn)行掃描,以生成一系列特征圖,最終生成輸出預(yù)測矢量(圖3)。

圖3:用于圖像對象檢測的CNN涉及許多層的大量神經(jīng)元,對計算平臺提出了更高的要求。 (圖片來源:Aphex34 CC BY-SA 4.0)

使用FPGA加速NN

盡管在邊緣執(zhí)行推理模型的方法不斷涌現(xiàn),但幾乎沒有其他選擇可以提供在邊緣進(jìn)行實際高速推理所需的靈活性、性能和能效的最佳組合。在邊緣AI的現(xiàn)有替代方案中,F(xiàn)PGA尤其有效,因為它們可以提供基于硬件的高性能計算密集型操作,而消耗的功率卻相對較小。

盡管具有優(yōu)勢,但由于傳統(tǒng)的開發(fā)流程有時會繞開FPGA,而對于那些沒有豐富的FPGA經(jīng)驗的開發(fā)人員來說,這可能令人望而生畏。為了創(chuàng)建由NN框架生成的NN模型的有效FPGA實現(xiàn),開發(fā)人員需要了解將模型轉(zhuǎn)換為寄存器傳輸語言(RTL),綜合設(shè)計以及完成最終布局和布線物理設(shè)計的細(xì)微差別階段以產(chǎn)生優(yōu)化的實現(xiàn)(圖4)。

圖4:要在FPGA上實現(xiàn)NN模型,到目前為止,開發(fā)人員需要了解如何將其模型轉(zhuǎn)換為RTL并通過傳統(tǒng)的FPGA流程進(jìn)行工作。 (圖片來源:Microchip Technology)

憑借其PolarFire FPGA,專用軟件和相關(guān)的知識產(chǎn)權(quán)(IP),Microchip Technology提供了一種解決方案,可以在沒有FPGA經(jīng)驗的情況下廣泛地為開發(fā)人員提供高性能,低功耗的推理。

PolarFire FPGA采用先進(jìn)的非易失性處理技術(shù)制造,旨在最大程度地提高靈活性和性能,同時將功耗降至最低。除了用于通信和輸入/輸出(I / O)的大量高速接口外,它們還具有能夠使用軟IP內(nèi)核支持高級功能的深度FPGA結(jié)構(gòu),包括RISC-V處理器,高級存儲控制器和其他功能。標(biāo)準(zhǔn)接口子系統(tǒng)(圖5)。

圖5:Microchip Technology PolarFire架構(gòu)提供了一種深層結(jié)構(gòu),旨在支持高性能設(shè)計要求,包括計算密集型推理模型的實現(xiàn)。 (圖片來源:Microchip Technology)

PolarFire FPGA架構(gòu)提供了廣泛的邏輯元素和專用模塊集,由PolarFire FPGA系列的不同成員(包括MPF100T,MPF200T,MPF300T和MPF500T系列)以各種容量支持(表1)。

表1:PolarFire系列提供了多種FPGA架構(gòu)功能和容量。 (表來源:Digi-Key,基于Microchip Technology PolarFire數(shù)據(jù)表)

在推理加速令人關(guān)注的功能中,PolarFire架構(gòu)包括一個專用的數(shù)學(xué)模塊,該模塊提供了帶有預(yù)加器的18位×18位帶符號乘法累加函數(shù)(MAC)。內(nèi)置點積模式使用單個數(shù)學(xué)塊執(zhí)行兩個8位乘法運算,從而提供了一種機制,可以利用模型量化對精度的影響可以忽略不計。

除了加速數(shù)學(xué)運算之外,PolarFire架構(gòu)還有助于緩解在通用架構(gòu)上實現(xiàn)推理模型時遇到的內(nèi)存擁塞,例如用于存儲在NN算法執(zhí)行期間創(chuàng)建的中間結(jié)果的小型分布式內(nèi)存。此外,NN模型的權(quán)重和偏差值可以存儲在16位深度乘18位系數(shù)的只讀存儲器(ROM)中,該存儲器由位于數(shù)學(xué)塊附近的邏輯元素構(gòu)建而成。

結(jié)合其他PolarFire FPGA架構(gòu)功能,數(shù)學(xué)模塊為Microchip Techno提供了基礎(chǔ)的更高級別的CoreVectorBlox IP。這是一個靈活的NN引擎,能夠執(zhí)行不同類型的NN。連同一組控制寄存器,CoreVectorBlox IP包括三個主要功能塊:

單片機:一個簡單的RISC-V軟處理器,可從外部存儲讀取Microchip固件二進(jìn)制大對象(BLOB)和用戶特定的NN BLOB文件。它通過執(zhí)行BLOB固件中的指令來控制整個CoreVectorBlox操作。

矩陣處理器(MXP):一種軟處理器,包括八個32位算術(shù)邏輯單元(ALU),設(shè)計為使用元素張量運算對數(shù)據(jù)矢量執(zhí)行并行運算,包括加,減,異或,移位,mul,dotprod等,根據(jù)需要使用8位,16位和32位混合精度。

CNN加速器:使用二維數(shù)組的MAC函數(shù)加速MXP的操作,這些MAC函數(shù)使用數(shù)學(xué)塊實現(xiàn),并以8位精度運行。

完整的NN處理系統(tǒng)將結(jié)合CoreVectorBlox IP塊,內(nèi)存,內(nèi)存控制器和主機處理器,例如Microsoft RISC-V(Mi-V)軟件處理器內(nèi)核(圖6)。

圖6:CoreVectorBlox IP模塊與諸如Microchip的Mi-V RISC-V微控制器之類的主機處理器配合使用,以實現(xiàn)NN推理模型。 (圖片來源:Microchip Technology)

在視頻系統(tǒng)實現(xiàn)中,主機處理器將從系統(tǒng)閃存中加載固件和網(wǎng)絡(luò)BLOB,并將它們復(fù)制到DDR RAM中,以供CoreVectorBlox塊使用。當(dāng)視頻幀到達(dá)時,主處理器將它們寫入DDR RAM,并向CoreVectorBlox塊發(fā)送信號以開始處理圖像。在運行BLOB網(wǎng)絡(luò)中定義的推理模型后,CoreVectorBlox塊將包括圖像分類在內(nèi)的結(jié)果寫回到DDR RAM中,以供目標(biāo)應(yīng)用程序使用。

開發(fā)流程簡化了NN FPGA的實現(xiàn)

Microchip使開發(fā)人員免于在PolarFire FPGA上實現(xiàn)NN推理模型的復(fù)雜性。NN模型開發(fā)人員無需像傳統(tǒng)的FPGA流程那樣處理細(xì)節(jié),而是照常使用其NN框架,并將結(jié)果模型加載到Microchip Technology的VectorBlox加速器軟件開發(fā)套件(SDK)中。 SDK生成所需的文件集,包括正常FPGA開發(fā)流程所需的文件集以及前面提到的固件和網(wǎng)絡(luò)BLOB文件(圖7)。

圖7:VectorBlox Accelerator SDK管理在FPGA上實現(xiàn)NN模型的細(xì)節(jié),自動生成設(shè)計和運行基于FPGA的推理模型所需的文件。 (圖片來源:Microchip Technology)

由于VectorBlox Accelerator SDK流程將NN設(shè)計覆蓋在FPGA中實現(xiàn)的NN引擎,因此不同的NN可以在同一FPGA設(shè)計上運行,而無需重做FPGA設(shè)計綜合流程。開發(fā)人員可以為生成的系統(tǒng)創(chuàng)建C / C ++代碼,并能夠使用時間切片在系統(tǒng)中即時切換模型或同時運行模型。

VectorBlox Accelerator SDK融合了Microchip Technology Free FPGA設(shè)計套件,并具有用于NN推理模型開發(fā)的全面功能。除了模型優(yōu)化,量化和校準(zhǔn)服務(wù)外,SDK還提供了一個NN仿真器,使開發(fā)人員可以在將其用于FPGA硬件實現(xiàn)之前,使用相同的BLOB文件評估其模型(圖8)。

圖8:VectorBlox Accelerator SDK提供了一整套服務(wù),旨在優(yōu)化框架生成的推理模型的FPGA實現(xiàn)。 (圖片來源:Microchip Technology)

VectorBlox Accelerator SDK支持開放神經(jīng)網(wǎng)絡(luò)交換(ONNX)格式的模型,以及來自多個框架的模型,包括TensorFlow,Caffe,Chainer,PyTorch和MXNET。受支持的CNN架構(gòu)包括MNIST,MobileNet版本,ResNet-50,Tiny Yolo V2和Tiny Yolo V3。 Microchip正在努力擴展支持,以將大多數(shù)網(wǎng)絡(luò)納入預(yù)訓(xùn)練模型的開源OpenVINO工具包以及open model zoo中,包括Yolo V3,Yolo V4,RetinaNet和SSD-MobileNet等。

視頻套件演示了FPGA推理

為了幫助開發(fā)人員快速進(jìn)入智能嵌入式視覺應(yīng)用開發(fā),Microchip Technology提供了一個全面的示例應(yīng)用,旨在在該公司的MPF300-VIDEO-KIT PolarFire FPGA視頻和成像套件以及參考設(shè)計上運行。

該套件的電路板基于Microchip MPF300T PolarFire FPGA,結(jié)合了雙攝像頭傳感器,DDR4 RAM,閃存,電源管理和各種接口(圖9)。

圖9:MPF300-VIDEO-KIT PolarFire FPGA視頻、圖像套件和相關(guān)軟件為開發(fā)人員提供了快速入門,幫助他們在智能嵌入式視覺應(yīng)用中進(jìn)行基于FPGA的推理。 (圖片來源:Microchip Technology)

該套件隨附一個完整的Libero設(shè)計項目,用于生成固件和網(wǎng)絡(luò)BLOB文件。將BLOB文件編程到板載閃存中后,開發(fā)人員單擊Libero中的運行按鈕開始演示,該演示處理來自攝像頭傳感器的視頻圖像并在顯示屏上顯示推斷結(jié)果(圖10)。

圖10:Microchip Technology PolarFire FPGA視頻和成像套件演示了如何設(shè)計和使用基于Microchip CoreVectorBlox NN引擎構(gòu)建的智能嵌入式視覺系統(tǒng)的FPGA實現(xiàn)。 (圖片來源:Microchip Technology)

對于每個輸入視頻幀,基于FPGA的系統(tǒng)執(zhí)行以下步驟(步驟編號與圖10相關(guān)):

1、從相機加載框架

2、將幀存儲在RAM中

3、從RAM讀取幀

4、將原始圖像轉(zhuǎn)換為RGB,平面RGB,并將結(jié)果存儲在RAM中

5、Mi-V軟核RISC-V處理器啟動CoreVectorBlox引擎,該引擎從RAM檢索圖像,執(zhí)行推理,并將分類概率結(jié)果存儲回RAM

6、Mi-V使用結(jié)果創(chuàng)建帶有邊框,分類結(jié)果和其他元數(shù)據(jù)的覆蓋框架,并將該框架存儲在RAM中

7、原始幀與覆蓋幀融合并寫入HDMI顯示屏

該演示支持Tiny Yolo V3和MobileNet V2模型的加速,但是開發(fā)人員可以使用前面描述的方法運行其他SDK支持的模型,只需稍作更改即可將模型名稱和元數(shù)據(jù)添加到包含兩個默認(rèn)模型的現(xiàn)有列表中。

結(jié)論

諸如NN模型之類的AI算法通常會施加計算密集型工作負(fù)載,這些工作負(fù)載需要比通用處理器更強大的計算資源。盡管FPGA具備足夠的能力來滿足推理模型執(zhí)行的性能和低功耗要求,但傳統(tǒng)的FPGA開發(fā)方法似乎很復(fù)雜,常常使開發(fā)人員轉(zhuǎn)向次優(yōu)解決方案。

如圖所示,使用Microchip Technology的專用IP和軟件,沒有FPGA經(jīng)驗的開發(fā)人員也可以實施基于推理的設(shè)計,從而更好地滿足性能,功耗和設(shè)計進(jìn)度要求。
編輯:hfy

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

    關(guān)注

    1630

    文章

    21802

    瀏覽量

    606400
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4783

    瀏覽量

    101239
  • 人工智能
    +關(guān)注

    關(guān)注

    1796

    文章

    47791

    瀏覽量

    240574
收藏 人收藏

    評論

    相關(guān)推薦

    功能更強 高通發(fā)布Snapdragon S4 8960 SDK(軟件開發(fā)工具包)

    據(jù)The Verge報道,芯片生產(chǎn)商高通(Qualcomm)將為Snapdragon S4 8960處理器推出一款SDK(軟件開發(fā)工具包),旨在讓Android平臺的開發(fā)者們更好地利用Snapdragon處理器的性能。據(jù)悉,該
    發(fā)表于 06-27 09:19 ?1426次閱讀

    聯(lián)發(fā)科技發(fā)布兩款A(yù)pple HomeKit軟件開發(fā)工具包

    全球IC 設(shè)計領(lǐng)導(dǎo)廠商聯(lián)發(fā)科技今日發(fā)布兩款支持Apple HomeKit的軟件開發(fā)工具包SDK)。Apple HomeKit是內(nèi)置于iOS里的系統(tǒng)框架,目的是要讓使用者能通過iPhone、iPad
    發(fā)表于 10-09 10:38 ?1673次閱讀

    c++對于ARM軟件開發(fā)工具包用戶及參考指引

    這本書描述了armc++ 1.0版本的ARM軟件開發(fā)工具包,以下簡稱為armc++。ARM c++是一套工具,當(dāng)與ARM軟件開發(fā)工具包2.11或更高版本一起使用時,允許您為ARM家族的RisC處理器
    發(fā)表于 08-08 06:29

    ARM軟件開發(fā)工具包2.50版參考指南

    ARM軟件開發(fā)工具包(SDT)由一套應(yīng)用程序以及支持文檔和示例組成,使您能夠為ARM系列RISC處理器編寫和調(diào)試應(yīng)用程序。 您可以使用SDT來開發(fā)、生成和調(diào)試C、C++或ARM匯編語言程序。
    發(fā)表于 08-21 07:17

    谷歌發(fā)布針對Android2.2操作系統(tǒng)的軟件開發(fā)工具包Fr

    北京時間7月12日,據(jù)國外媒體報道,谷歌發(fā)布了針對Android2.2操作系統(tǒng)的軟件開發(fā)工具包SDK),名為Froyo,該工具可支持在外部存儲設(shè)備上,比如SD卡,安裝應(yīng)用程序,這可以讓用戶
    發(fā)表于 07-12 08:46 ?1170次閱讀

    Rethink Robotics推出Sawyer智能協(xié)作機器人軟件開發(fā)工具包

     近日,Rethink Robotics發(fā)布了Sawyer軟件開發(fā)工具包SDK)。該款升級版軟件專為研究人員和學(xué)生在Sawyer智能協(xié)作機器人上構(gòu)建和測試程序而設(shè)計。Sawyer SDK
    的頭像 發(fā)表于 02-27 10:27 ?6672次閱讀

    三星為區(qū)塊鏈Keystore軟件開發(fā)工具包SDK添加了BTC支持

    加密貨幣擁護(hù)者很高興地注意到,三星(OTCMKTS:SSNLF)最終向該公司的區(qū)塊鏈Keystore軟件開發(fā)工具包SDK)添加了 BTC支持。8月13日本周二,三星發(fā)布了包含發(fā)行說明、API
    發(fā)表于 08-19 10:15 ?1197次閱讀

    ESP8266實時操作系統(tǒng)的軟件開發(fā)工具包資料合集

    本文檔的主要內(nèi)容詳細(xì)介紹的是ESP8266實時操作系統(tǒng)的軟件開發(fā)工具包合集免費下載。
    發(fā)表于 10-31 08:00 ?3次下載

    UG-677:ADuCM350軟件開發(fā)工具包快速入門指南

    UG-677:ADuCM350軟件開發(fā)工具包快速入門指南
    發(fā)表于 04-22 13:42 ?9次下載
    UG-677:ADuCM350<b class='flag-5'>軟件開發(fā)工具包</b>快速入門指南

    LTC2937-軟件開發(fā)工具包

    LTC2937-軟件開發(fā)工具包
    發(fā)表于 05-31 20:57 ?6次下載
    LTC2937-<b class='flag-5'>軟件開發(fā)工具包</b>

    Unify SDK軟件開發(fā)工具包可以提供什么好處

    線器那樣復(fù)雜。所以Unify SDK軟件開發(fā)工具包幫助設(shè)計人員只需通過一個界面進(jìn)行控制,旨在將所有協(xié)議特定的工作從物聯(lián)網(wǎng)設(shè)備制造商的流程中剝離出來,以幫助我們的客戶加快產(chǎn)品的上市速度。 你可以把
    的頭像 發(fā)表于 01-12 10:16 ?2051次閱讀

    英特爾推出量子軟件開發(fā)工具包的測試版

    英特爾研究院推出英特爾量子軟件開發(fā)工具包的測試版。
    的頭像 發(fā)表于 10-10 10:09 ?1191次閱讀

    Emulex軟件開發(fā)工具包實用程序(elxsdkutil)

    電子發(fā)燒友網(wǎng)站提供《Emulex軟件開發(fā)工具包實用程序(elxsdkutil).pdf》資料免費下載
    發(fā)表于 07-28 09:36 ?1次下載
    Emulex<b class='flag-5'>軟件開發(fā)工具包</b>實用程序(elxsdkutil)

    OneCore存儲軟件開發(fā)工具包(SDK)

    電子發(fā)燒友網(wǎng)站提供《OneCore存儲軟件開發(fā)工具包(SDK).pdf》資料免費下載
    發(fā)表于 08-22 14:53 ?0次下載
    OneCore存儲<b class='flag-5'>軟件開發(fā)工具包</b>(<b class='flag-5'>SDK</b>)

    最新Simplicity SDK軟件開發(fā)工具包發(fā)布

    最新的SimplicitySDK軟件開發(fā)工具包已經(jīng)發(fā)布!此次更新針對SiliconLabs(芯科科技)第二代無線開發(fā)平臺帶來了包括藍(lán)牙6.0的信道探測(Channel Sounding
    的頭像 發(fā)表于 12-24 09:47 ?287次閱讀