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

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

3天內不再提示

3個DNN的項目介紹

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 作者:FPGA技術江湖 ? 2022-06-16 09:27 ? 次閱讀

介紹

深度神經網絡 (DNN) 是一種人工神經網絡(ANN),在輸入層和輸出層之間具有多層。有不同類型的神經網絡,但它們基本由相同的組件組成:神經元、突觸、權重、偏差和函數。這些組件的功能類似于人類大腦,可以像任何其他 ML 算法一樣進行訓練。

3241cbd6-ed13-11ec-ba43-dac502259ad0.png

例如,經過訓練以識別狗品種的 DNN 將遍歷給定的圖像并計算圖像中的狗是某個品種的概率。用戶可以查看結果并選擇網絡應該顯示哪些概率(超過某個閾值等)并返回建議的標簽。每個數學操作都被認為是一個層,復雜的 DNN 有很多層,因此被稱為“深度”網絡。

324f329e-ed13-11ec-ba43-dac502259ad0.png

關于DNN、ANN、CNN區別,請看下圖:

326b7cf6-ed13-11ec-ba43-dac502259ad0.png

https://blog.csdn.net/lff1208/article/details/77717149

IBM_AccDNN

https://github.com/IBM/AccDNN

AccDNN(深度神經網絡加速器核心編譯器)又名;DNNBuilder

項目介紹

在這個項目中,我們提出了一種新穎的解決方案,可以自動將經過 Caffe 訓練的深度神經網絡轉換為 FPGA RTL 級別的實現,無需任何編程工作,并為用戶的識別任務提供統一的 API。

因此,沒有任何 FPGA 編程經驗的開發人員可以將他們的 FPGA 加速深度學習服務部署在數據中心或邊緣設備中,僅提供他們經過訓練的 Caffe 模型。該作品發表在 ICCAD'18 上,并獲得了前端最佳論文獎。了解更多設計細節。請參考我們的論文(https://docs.wixstatic.com/ugd/c50250_77e06b7f02b44eacb76c05e8fbe01e08.pdf)。

轉換過程

轉換包括三個階段:

首先對 Caffe 網絡文件進行解析,得到網絡結構。我們估計每一層的工作量以確定在 FPFA 資源約束下的并行度。

該網絡中定義的每一層通過在庫中實例化相應的神經層來生成一個定制的 Verilog 模塊。頂層模塊也是根據net文件中定義的層順序將這些自定義實例連接在一起生成的,并且在這個階段也生成了權重所需的片上內存。

綜合生成的源文件、布線和布局,生成可執行的 FPGA 位文件。

327d5520-ed13-11ec-ba43-dac502259ad0.png

AccDNN 缺點

僅支持 Caffe 框架訓練的模型。

僅支持卷積層、最大池化層、全連接層和批量歸一化層。

Caffe .prototxt 中定義的網絡中卷積層和全連接層的總數應少于 15 層

DNN-Hardware-Accelerator

https://github.com/ryaanluke/DNN-Hardware-Accelerator

https://github.com/gwatcha/dnn_accelerator

介紹

在本實驗中,將以嵌入式 Nios II 系統為核心構建深度神經網絡加速器。在本項目中還將學習如何與片外 SDRAM 連接,以及如何使用 PLL 生成具有特定屬性的時鐘。

由于整個系統比我們之前構建的系統更復雜,因此在將設計的所有部分連接在一起之前,編寫大量的測試單元并仔細調試將變得尤為重要。

深度神經網絡

我們將使用一種稱為多層感知器 (MLP) 的神經網絡對 MNIST 手寫數字數據集進行分類。也就是說,我們的 MLP 將以 28×28 像素的灰度圖像作為輸入,并確定該圖像對應的數字 (0..9)。

MLP 由幾個線性層組成,它們首先將前一層的輸出乘以權重矩陣,并為每個輸出添加一個恒定的“偏差”值,然后應用非線性激活函數來獲得當前層的輸出(稱為激活)。我們的 MLP 將有一個 784 像素的輸入(28×28 像素的圖像)、兩個 1000 個神經元的隱藏層和一個 10 個神經元的輸出層;具有最高值的輸出神經元將告訴我們網絡認為它看到了哪個數字。對于激活函數,我們將使用整流線性單元 (ReLU),它將所有負數映射到 0,將所有正數映射到自身。

在推理過程中,每一層計算a' = ReLU( W · a + b ),其中W是權重矩陣,a是前一層的激活向量,b是偏置向量,a'是當前層的激活向量。

不要被神經網絡等花哨的術語嚇倒——你實際上是在構建一個加速器來進行矩陣向量乘法。這里的大部分挑戰來自與片外 SDRAM 存儲器的交互以及正確處理諸如waitrequest和readdatavalid 之類的信號。

不需要知道這些網絡是如何訓練的,因為我們已經為您訓練了網絡并預先格式化了圖像(請參閱data文件夾的內容和測試輸入列表)。但是,如果好奇,可以查看scripts/train.py我們是如何訓練 MLP 的。

328a56a8-ed13-11ec-ba43-dac502259ad0.png

關于該項目的一些補充說明請查看下面的PDF:

https://github.com/ryaanluke/DNN-Hardware-Accelerator/blob/main/Deep%20Neural%20Networks%20on%20FPGA.pdf

DNN-accelerator-on-zynq

https://github.com/joycenerd/DNN-accelerator-on-zynq

https://github.com/karanam1997/Dnnweaver-Zed-board-/tree/master/DNNWeaver_original

https://github.com/anonsum/DNNWeaver_Simulations

設計要求:

329b95a8-ed13-11ec-ba43-dac502259ad0.png

整個系統框圖如下:

32adb51c-ed13-11ec-ba43-dac502259ad0.png

相關的設計文檔:

https://github.com/joycenerd/DNN-accelerator-on-zynq/blob/master/2019DD_lab12Finalv4.pdf

Handwritting-number-distinguishing-with-DNN-by-Nexys-4-DDR-in-Verilog-HDL

https://github.com/MaxMorning/Handwritting-number-distinguishing-with-DNN-by-Nexys-4-DDR-in-Verilog-HDL

用 Verilog HDL 實現 DNN 區分手寫數字,在Nexys 4 DDR 上運行。

32bd3b18-ed13-11ec-ba43-dac502259ad0.png

總結

今天介紹了3個DNN的項目,主要是DNN復雜度較TPU或者CNN高了幾個臺階,所以用它來直接對FPGA進行移植難度很大,還是只建議對第一個IBM項目進行研究,其他在ZYNQ上進行數字識別適合實現,其他都不怎么推薦。

關于DNN或者CNN也介紹了幾十個項目了,這些只適合學習研究,并不適合拿來商用,所以后臺噴我的小伙伴要求也不要太高,這些開源的項目能直接商用的少之又少,大部分項目只適合學習。還有一些項目是學生做的,所以你們也不必噴:說是拿一些學生做的項目能干什么,我這里只想說,這些項目至少能給您一些參考,什么事情總比從零開始好,或者讓你們了解一些同齡人在學校里在干什么,最后,這些項目您又看不上您開源幾個出來~

審核編輯 :李倩

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

    關注

    42

    文章

    4592

    瀏覽量

    99377
  • dnn
    dnn
    +關注

    關注

    0

    文章

    56

    瀏覽量

    8975

原文標題:?優秀的 Verilog/FPGA開源項目- 深度神經網絡 (DNN)

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA進行DNN設計的經驗總結

    DNN中應用最廣泛的是CNN和RNN,CNN是一種卷積網絡,在圖片識別分類中用的較多,RNN可以處理時間序列的信息,比如視頻識別和語音識別。
    發表于 04-07 10:23 ?155次閱讀
    基于FPGA進行<b class='flag-5'>DNN</b>設計的經驗總結

    【Longan Pi 3H 開發板試用連載體驗】基于 Longan Pi 3H 開發板完成智能家居控制小型項目

    及4銅柱 與樹莓派3B來個對比,尺寸差不多只有樹莓派3B的三分之一,性能可是提升不少 詳細板卡介紹可以看官網板卡介紹 二、開機 手頭上有一
    發表于 04-02 22:37

    Eclipse EZ-USB1.3.5為CX3創建一新的配置項目時報向導無法啟動的原因?怎么解決?

    當嘗試在最新的 Eclipse EZ-USB 套件 1.3.5 集成開發環境中為 CX3 創建一新的配置項目時,該工具報告了以下錯誤: 所選向導無法啟動。 插件“com.CYPRESS
    發表于 03-04 07:45

    基于OpenCV DNN實現YOLOv8的模型部署與推理演示

    基于OpenCV DNN實現YOLOv8推理的好處就是一套代碼就可以部署在Windows10系統、烏班圖系統、Jetson的Jetpack系統
    的頭像 發表于 03-01 15:52 ?662次閱讀
    基于OpenCV <b class='flag-5'>DNN</b>實現YOLOv8的模型部署與推理演示

    HTTP服務器項目實現介紹

    項目介紹項目實現的是一個HTTP服務器,項目中將會通過基本的網絡套接字讀取客戶端發來的HTTP請求并進行分析,最終構建HTTP響應并返回給客戶端。 HTTP在網絡應用層中的地位是不
    的頭像 發表于 11-08 16:54 ?516次閱讀
    HTTP服務器<b class='flag-5'>項目</b>實現<b class='flag-5'>介紹</b>

    基于OpenCV的DNN圖像風格遷移

    /deep-photo-styletransfer 項目,需要安裝 CUDA、pytorch、cudnn等等,配置能花一天的時間。 不過最近我發現一個非常好的開源應用項目,那就是基于OpenCV的DNN圖像風格遷移。你只需要安裝
    的頭像 發表于 10-30 10:03 ?302次閱讀

    AI芯片設計DNN加速器buffer管理策略

    如前所述,數據緩存是創建高效DNN加速器的關鍵組件之一。因此,除了選擇適當的數據流(控制數據緩存的位置和時間)外,DNN加速器還需要一個緩存方案
    的頭像 發表于 10-17 17:23 ?925次閱讀
    AI芯片設計<b class='flag-5'>DNN</b>加速器buffer管理策略

    使用賽靈思Alveo加速器卡加速DNN

    電子發燒友網站提供《使用賽靈思Alveo加速器卡加速DNN.pdf》資料免費下載
    發表于 09-18 09:27 ?0次下載
    使用賽靈思Alveo加速器卡加速<b class='flag-5'>DNN</b>

    FPGA在新興DNN推理領域的應用

    電子發燒友網站提供《FPGA在新興DNN推理領域的應用.pdf》資料免費下載
    發表于 09-15 10:52 ?0次下載
    FPGA在新興<b class='flag-5'>DNN</b>推理領域的應用

    新興DNN推理領域的FPGA

    電子發燒友網站提供《新興DNN推理領域的FPGA.pdf》資料免費下載
    發表于 09-15 10:09 ?0次下載
    新興<b class='flag-5'>DNN</b>推理領域的FPGA

    智能指路機器人項目應用案例介紹

    隨著科技的快速發展,人工智能已經滲透到我們生活的方方面面。在這個創新的時代,智能指路機器人成為了一個備受關注的研究領域。它們出現在機場、火車站、醫院等各個場所,為人們提供便捷的導航服務。本文將介紹
    的頭像 發表于 09-05 11:41 ?448次閱讀
    智能指路機器人<b class='flag-5'>項目</b>應用案例<b class='flag-5'>介紹</b>

    使用ldquo cv2.dnn.readnet rdquo時,無法從中間表示(IR)讀取網絡怎么解決

    安裝了 opencv-python 無頭 和 openvino 封裝。 隨 Python* 導入 OpenCV* 使用 cv2.dnn.readNet(): cv2.error: Build
    發表于 08-15 07:20

    Gaudi Training系統介紹

    大型DNN工作負載的大規模計算需求,并為大規模系統提供前所未有的效率:高迪訓練處理器。在訓練過程中,神經網絡的內部參數會針對目標應用進行調整和優化。一典型的網絡包含數十億內部參數,所有這些參數在
    發表于 08-04 06:48

    工程師說 | R-Car DNN模擬器的介紹 (2)

    摘要 在瑞薩提供的R-Car SoC相關的一些DNN模擬器中,本文將重點介紹 能夠實現與實際硬件等價運算的Accurate Simulator ,并說明如何應用它來 分析和提高神經網絡的精度
    的頭像 發表于 07-13 18:15 ?292次閱讀
    工程師說 | R-Car <b class='flag-5'>DNN</b>模擬器的<b class='flag-5'>介紹</b> (2)

    PCBA檢驗項目四大分類介紹

    一致性檢驗四類。接下來深圳PCBA廠家為大家介紹PCBA檢驗項目的分類。 PCBA檢驗項目四大分類 1.材料檢驗 貼片電子廠中材料檢驗是PCBA板生產方生產過程質量控制的重要組成部分,也是對用戶的質量保證的一部分,證明PCBA板
    的頭像 發表于 07-04 08:58 ?1396次閱讀
    PCBA檢驗<b class='flag-5'>項目</b>四大分類<b class='flag-5'>介紹</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>