如果你已經(jīng)在用 MATLAB 做深度學(xué)習(xí),那一定知道它的訓(xùn)練和仿真體驗(yàn)非常絲滑。但當(dāng)模型要真正落地到 FPGA 上時(shí),往往就會(huì)卡住:怎么把網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)重優(yōu)雅地搬到硬件里?
這就是 MathWorks Deep Learning HDL Toolbox 出場(chǎng)的地方。
它能干什么?
簡單來說,這個(gè)工具就是把你的神經(jīng)網(wǎng)絡(luò)“翻譯”成 FPGA 能跑的電路。它提供了一個(gè)現(xiàn)成的 Deep Learning Processor (DLP) IP 核,能直接放到 FPGA 里跑模型推理。

主要功能有:
自動(dòng)生成 FPGA 工程:不需要手寫 RTL,只要在 MATLAB 定義好網(wǎng)絡(luò)結(jié)構(gòu),就能一鍵生成 Vivado 工程。
支持常見網(wǎng)絡(luò)層:卷積層、全連接層、激活層等常見模塊都內(nèi)置好,拖上去就能用。
硬件加速 AI 推理:推理過程完全在硬件里跑,沒有軟件瓶頸,延遲低、確定性強(qiáng)。
AXI 接口對(duì)接:DLP IP 自帶 AXI4-Lite/AXI4-Stream 接口,方便和其他 FPGA 邏輯或外設(shè)對(duì)接。
可定制化:支持修改網(wǎng)絡(luò)拓?fù)?、算子精度,還能擴(kuò)展自定義層。
參考設(shè)計(jì)入門
最快捷的入門方法是先在 MATLAB 中生成參考設(shè)計(jì),然后 MATLAB 會(huì)生成一個(gè)針對(duì) ZCU102 評(píng)估板的 Vivado 項(xiàng)目。該設(shè)計(jì)可以直接在 MATLAB 中使用 JTAG 接口進(jìn)行測(cè)試。
設(shè)計(jì)架構(gòu)概述
該架構(gòu)非常簡單,只需幾分鐘即可運(yùn)行應(yīng)用程序。
盡管參考設(shè)計(jì)使用了 SoC 設(shè)備,但處理器僅負(fù)責(zé)時(shí)鐘和復(fù)位信號(hào)。
該過程從定義 DLP 及其接口的配置文件開始。
接下來,從 MATLAB 庫中導(dǎo)入了一個(gè)預(yù)訓(xùn)練的MNIST 分類網(wǎng)絡(luò)。通過分析它,我們可以了解待實(shí)現(xiàn)網(wǎng)絡(luò)的結(jié)構(gòu)。

定義網(wǎng)絡(luò)后,處理器就會(huì)對(duì)其進(jìn)行配置和優(yōu)化。



一旦處理器得到優(yōu)化,我們就可以讓 MATLAB 在 Vivado 中構(gòu)建深度學(xué)習(xí) IP 設(shè)計(jì)。

完成后就可以打開 Vivado 并探索該項(xiàng)目。將看到 AXI 互連、深度學(xué)習(xí) IP 和 AXI 基礎(chǔ)架構(gòu)。



構(gòu)建和運(yùn)行設(shè)計(jì)
優(yōu)化完成后,MATLAB 即可為 Vivado 構(gòu)建 DLP IP 設(shè)計(jì)。編譯只需幾分鐘,之后 Vivado 項(xiàng)目將顯示 AXI 互連、DLP IP 以及相關(guān)基礎(chǔ)架構(gòu)。
運(yùn)行硬件示例之前,必須正確配置 Zynq 處理系統(tǒng) (PS),否則將不提供時(shí)鐘。這可以通過 從附加組件管理器安裝適用于 Xilinx FPGA 和 SoC 設(shè)備的深度學(xué)習(xí) HDL 工具箱支持包來完成。




附加管理器還提供為 ZCU102 編程 SD 卡的工具,確保 PS 提供所需的時(shí)鐘和復(fù)位信號(hào)。
設(shè)置完成后,打開 ZCU102 的電源,將 JTAG 連接到開發(fā)板,并從 MATLAB 下載比特流。這還會(huì)使用網(wǎng)絡(luò)的權(quán)重和激活函數(shù)配置 FPGA 存儲(chǔ)器。


測(cè)試網(wǎng)絡(luò)
然后,加載一張簡單的圖像并進(jìn)行推理。經(jīng)過訓(xùn)練識(shí)別手寫數(shù)字的 MNIST 網(wǎng)絡(luò)通過 JTAG 鏈路返回了正確的預(yù)測(cè)。


由于啟用了分析功能,可以查看推理結(jié)果和性能指標(biāo)。雖然這是一個(gè)簡單的網(wǎng)絡(luò),但速度還是很快的。
小結(jié)
MathWorks Deep Learning HDL Toolbox 其實(shí)就是一條“AI 模型到 FPGA 的高速通道”。
它幫你把 MATLAB 里的深度學(xué)習(xí)模型,直接翻譯成可運(yùn)行在 FPGA 上的硬件結(jié)構(gòu),還自帶了一個(gè)成熟的 DLP 引擎,降低了從算法到部署的門檻。
一句話:如果你在 FPGA 上搞 AI,這個(gè)工具能幫你把“想法”快速變成“硬件”。
來源:本文轉(zhuǎn)載自O(shè)PENFPGA公眾號(hào)
-
FPGA
+關(guān)注
關(guān)注
1653文章
22272瀏覽量
629782 -
matlab
+關(guān)注
關(guān)注
189文章
3016瀏覽量
237492 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5589瀏覽量
123871
原文標(biāo)題:FPGA 上的 AI“神器”:MathWorks Deep Learning HDL Toolbox
文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄

如何在FPGA部署AI模型
評(píng)論