女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

如何通過FPGA和軟件開發工具包(SDK)創建邊緣AI應用

電子設計 ? 來源:Microchip ? 作者:Microchip ? 2021-02-21 11:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

為什么要在邊緣使用AI?

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

機器學習(ML)推理模型的快速接受和需求的增加極大地增強了邊緣計算的重要性。對于開發人員,推理模型的本地處理有助于減少響應延遲和基于云的推理所需的云資源成本。對于用戶而言,使用本地推理模型可以增強信心,即使偶爾出現網絡連接中斷或產品供應商基于云的產品發生變化,其產品仍將繼續運行。此外,對安全性和隱私的關注會進一步推動對本地處理和推理的需求,以限制通過公共Internet傳輸到云的敏感信息的數量。

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

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

為什么推理模型在計算上具有挑戰性

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

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

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

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

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

使用FPGA加速NN

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

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

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

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

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

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

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

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

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

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

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

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

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

CNN加速器:使用二維數組的MAC函數加速MXP的操作,這些MAC函數使用數學塊實現,并以8位精度運行。

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

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

在視頻系統實現中,主機處理器將從系統閃存中加載固件和網絡BLOB,并將它們復制到DDR RAM中,以供CoreVectorBlox塊使用。當視頻幀到達時,主處理器將它們寫入DDR RAM,并向CoreVectorBlox塊發送信號以開始處理圖像。在運行BLOB網絡中定義的推理模型后,CoreVectorBlox塊將包括圖像分類在內的結果寫回到DDR RAM中,以供目標應用程序使用。

開發流程簡化了NN FPGA的實現

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

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

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

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

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

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

視頻套件演示了FPGA推理

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

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

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

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

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

對于每個輸入視頻幀,基于FPGA的系統執行以下步驟(步驟編號與圖10相關):

1、從相機加載框架

2、將幀存儲在RAM中

3、從RAM讀取幀

4、將原始圖像轉換為RGB,平面RGB,并將結果存儲在RAM中

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

6、Mi-V使用結果創建帶有邊框,分類結果和其他元數據的覆蓋框架,并將該框架存儲在RAM中

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

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

結論

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1645

    文章

    22015

    瀏覽量

    616843
  • 神經網絡
    +關注

    關注

    42

    文章

    4812

    瀏覽量

    103261
  • 人工智能
    +關注

    關注

    1805

    文章

    48922

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    聯發科技發布兩款Apple HomeKit軟件開發工具包

    全球IC 設計領導廠商聯發科技今日發布兩款支持Apple HomeKit的軟件開發工具包SDK)。Apple HomeKit是內置于iOS里的系統框架,目的是要讓使用者能通過iPhone、iPad
    發表于 10-09 10:38 ?1735次閱讀

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

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

    ARM軟件開發工具包2.50版參考指南

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

    谷歌發布針對Android2.2操作系統的軟件開發工具包Fr

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

    Rethink Robotics推出Sawyer智能協作機器人軟件開發工具包

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

    三星為區塊鏈Keystore軟件開發工具包SDK添加了BTC支持

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

    ESP8266實時操作系統的軟件開發工具包資料合集

    本文檔的主要內容詳細介紹的是ESP8266實時操作系統的軟件開發工具包合集免費下載。
    發表于 10-31 08:00 ?3次下載

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

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

    LTC2937-軟件開發工具包

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

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

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

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

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

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

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

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

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

    最新Simplicity SDK軟件開發工具包發布

    最新的SimplicitySDK軟件開發工具包已經發布!此次更新針對SiliconLabs(芯科科技)第二代無線開發平臺帶來了包括藍牙6.0的信道探測(Channel Sounding
    的頭像 發表于 12-24 09:47 ?834次閱讀
    主站蜘蛛池模板: 安远县| 双柏县| 康定县| 舟山市| 青海省| 镇江市| 讷河市| 新民市| 吴川市| 玛纳斯县| 莱州市| 会泽县| 张家川| 徐闻县| 汝南县| 大渡口区| 资源县| 秦安县| 苗栗市| 繁峙县| 柳林县| 胶州市| 鹿邑县| 平远县| 岚皋县| 麟游县| 泸州市| 神农架林区| 五指山市| 日土县| 简阳市| 庄浪县| 阳西县| 清新县| 会昌县| 承德市| 中西区| 资阳市| 隆尧县| 景洪市| 海阳市|