99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內不再提示

Verilog/FPGA開源項目介紹

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 作者:FPGA技術江湖 ? 2022-07-03 16:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

優(yōu)秀的 Verilog/FPGA開源項目介紹

脈沖神經(jīng)網(wǎng)絡 (SNN)

介紹

脈沖神經(jīng)網(wǎng)絡( Spiking neural network-SNN ) 是更接近自然神經(jīng)網(wǎng)絡的人工神經(jīng)網(wǎng)絡。除了神經(jīng)元和突觸狀態(tài)之外,SNN 還將時間概念納入其操作模型。這個想法是, SNN 中的神經(jīng)元不會在每個傳播周期傳輸信息(就像典型的多層感知器網(wǎng)絡一樣),而是僅在膜電位發(fā)生時才傳輸信息 - 與膜電荷相關的神經(jīng)元的內在質量 - 達到特定值,稱為閾值。當膜電位達到閾值時,神經(jīng)元會放電,并產生一個信號,該信號傳播到其他神經(jīng)元,這些神經(jīng)元又會根據(jù)該信號增加或降低它們的電位。在閾值交叉時觸發(fā)的神經(jīng)元模型也稱為脈沖神經(jīng)元模型。

SNN 原則上可以應用于與傳統(tǒng) ANN 相同的應用。此外,SNN 可以模擬生物有機體的中樞神經(jīng)系統(tǒng),例如在事先不了解環(huán)境的情況下尋找食物的昆蟲。由于它們的相對真實性,它們可用于研究生物神經(jīng)回路的運作。從關于生物神經(jīng)元電路的拓撲結構及其功能的假設開始,可以將該電路的記錄與相應 SNN 的輸出進行比較,從而評估該假設的合理性。然而,SNN 缺乏有效的訓練機制,這可能會抑制某些應用,包括計算機視覺任務。

ba3a772c-eed0-11ec-ba43-dac502259ad0.png

基于 FTJ 的人工突觸

下面介紹幾個SNN的開源項目。

關于CNN vs. RNN vs. ANN區(qū)別,請看下文:

ba605532-eed0-11ec-ba43-dac502259ad0.png

https://www.analyticsvidhya.com/blog/2020/02/cnn-vs-rnn-vs-mlp-analyzing-3-types-of-neural-networks-in-deep-learning/

https://zhuanlan.zhihu.com/p/107993566

ODIN Spiking Neural Network (SNN) Processor

https://github.com/ChFrenkel/ODIN

ba7175a6-eed0-11ec-ba43-dac502259ad0.png

項目介紹ODIN 是一種在線學習數(shù)字脈沖神經(jīng)處理器,在 2019 年發(fā)表在IEEE Transactions on Biomedical Circuits and Systems期刊上,在魯汶天主教大學 ( UCLouvain ) 采用 28 納米 FDSOI CMOS 設計和原型制作。ODIN 基于單個 256 神經(jīng)元 64k 突觸橫桿神經(jīng)突觸核心,具有以下關鍵特性:

基于脈沖依賴的突觸可塑性 (SDSP) 在線學習,

神經(jīng)元可以再現(xiàn) 20 種 Izhikevich 行為。

ba89ab08-eed0-11ec-ba43-dac502259ad0.png

因此,ODIN 是一個用于邊緣學習的多功能實驗平臺,同時與所有先前提出的尖峰神經(jīng)網(wǎng)絡 (SNN) 相比,記錄神經(jīng)元和突觸密度更高。

baa5038a-eed0-11ec-ba43-dac502259ad0.png

使用源代碼時,請引用相關論文:

https://arxiv.org/pdf/1804.07858.pdf

同時該項目也有詳細的設計文檔:

https://github.com/ChFrenkel/ODIN/tree/master/doc

HedgeHog-Fused-Spiking-Neural-Network-Emulator-Compute-Engine

https://github.com/jerry-D/HedgeHog-Fused-Spiking-Neural-Network-Emulator-Compute-Engine

用于 RISC-V 的 HedgeHog 融合脈沖神經(jīng)網(wǎng)絡仿真器/計算引擎(有FPGA驗證)

bab6b454-eed0-11ec-ba43-dac502259ad0.png

介紹在 Xilinx Kintex Ultra Plus 中運行時鐘頻率約為 100MHz,它可以執(zhí)行大約 312qty。每個時鐘周期的浮點運算約每秒 310 億次浮點運算。指令集中的累積和激活位可以連接8個神經(jīng)元膜。如果你正在探索或試驗使用 RISC-V 作為主機 CPU 的 FPGA 嵌入式 AI 應用程序的脈沖神經(jīng)網(wǎng)絡,那么 SYMPL HedgeHog 非常適合你。

這是有關 HedgeHog FSNN 模擬器/計算引擎的 .pdf 信息表:

https://github.com/jerry-D/HedgeHog-Fused-Spiking-Neural-Network-Emulator-Compute-Engine/blob/master/HedgeHog.pdf

在 Xilinx Vivado IDE 中進行仿真Vivado需要的所有 Verilog RTL 源文件都位于此存儲庫的“RTL”、“ASM”、“test bench”和“sim”文件夾中。頂級模塊是“HedgeHog.v”。建議第一次在 Vivado 中創(chuàng)建項目時,選擇 Xilinx Kintex Ultra+ xcku5p-ffvd-900-3-e 作為目標器件。在 Vivado 中創(chuàng)建項目后,需要設置“HedgeHog.v”為項目“Top”文件。

下一步是將“SpiNNe_tb.v”測試文件拉入 Vivado 作為激勵。然后向下滑動到“Simulation Sources”》“sim_1”,對測試文件“SpiNNe_tb.v”執(zhí)行與“HedgeHog”相同的操作,在仿真源中將其設置為“top”。

完成后,單擊“運行仿真”。之后,會注意到仿真失敗。這是因為仿真需要“spikeDemo.HEX”程序來執(zhí)行 HedgeHog。為了解決這個問題,將“spikeDemo.HEX”文件粘貼到仿真工作目錄中:“C:projectNameprojectName.simsim_1ehavxsimspikeDemo.HEX”,在“ASM”文件夾中可以找到匯編語言源代碼和對象列表。

bac32568-eed0-11ec-ba43-dac502259ad0.png

接下來,演示仿真,它只是將一系列脈沖推入 HedgeHog,需要“spike_trains.txt”尖峰輸入文件和位于“sim”文件夾中的“weights.txt”文件,因此將這兩個文件粘貼到與放置“spikeDemo .HEX”文件的工作目錄相同。

完成后,再次單擊“運行仿真”按鈕以啟動仿真即可看到仿真結果。

該項目還有很多詳細的設計文檔,就不一一說明了。

bae690de-eed0-11ec-ba43-dac502259ad0.png

CSE237D-PYNQ-SNN-Accelerator

https://github.com/snagiri/CSE237D-PYNQ-SNN-Accelerator

baf19b6e-eed0-11ec-ba43-dac502259ad0.png

bb0845bc-eed0-11ec-ba43-dac502259ad0.png

脈沖神經(jīng)網(wǎng)絡在 PYNQ-Z1 板上的硬件實現(xiàn)

S2NN-HLS

https://github.com/eejlny/S2NN-HLS

該項目提出了一種用于脈沖神經(jīng)網(wǎng)絡的高性能架構,可優(yōu)化在主存儲器中的配置數(shù)據(jù)的數(shù)據(jù)精度和流式傳輸。神經(jīng)網(wǎng)絡基于 Izhikevich 模型,并使用HLS映射到 CPU-FPGA 混合設備。實驗表明,將電壓和頻率縮放應用于 DDR 存儲器和可編程邏輯可以分別將其能量需求降低高達 77% 和 76%。

詳細設計論文:

http: //dx.doi.org/10.1016 /j.micpro.2017.06.018。

Conversion from CNNs to SNNs

https://github.com/Dengyu-Wu/spkeras

bb537096-eed0-11ec-ba43-dac502259ad0.png

SpKeras 可以通過以下步驟獲取和評估基于速率的脈沖神經(jīng)網(wǎng)絡 (SNN):

使用 Tensorflow-keras 預訓練卷積神經(jīng)網(wǎng)絡 (CNN)

使用 SpKeras 將 CNN 轉換為 SNN

評估 SNN 并獲取參數(shù),例如權重、偏差和閾值

其他

https://github.com/oshears/SNN-FPGA-Implementation

https://github.com/jasha64/SNN-FPGA

https://github.com/Minz9/SNN-on-FPGA

https://github.com/oshears/fpga_snn_models

總結

今天介紹了主要3個SNN的項目,主要是SNN復雜度較TPU或者CNN或者DNN又高了幾個臺階,所以用它來直接對FPGA進行移植難度很大,建議對第一個前三個項目進行研究,其他都不怎么推薦(想研究也沒有文檔)。

關于DNN或者CNN或者SNN也介紹了幾十個項目了,后面可能就不會出神經(jīng)網(wǎng)絡的項目了,感覺大家也看膩了,后續(xù)會出一些視頻處理或者圖像處理的項目。

最后還是強推一波官方神經(jīng)網(wǎng)絡加速的項目:

官方提供的各種案例也是基本覆蓋了常規(guī)應用。

最后,還是感謝各個大佬開源的項目,讓我們受益匪淺。后面有什么感興趣方面的項目,大家可以在后臺留言或者加微信留言,今天就到這,我是爆肝的碎碎思,期待下期文章與你相見。

原文標題:優(yōu)秀的 Verilog/FPGA開源項目- 脈沖神經(jīng)網(wǎng)絡 (SNN)

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

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

    關注

    1645

    文章

    22046

    瀏覽量

    618303
  • 神經(jīng)網(wǎng)絡

    關注

    42

    文章

    4814

    瀏覽量

    103581
  • Verilog
    +關注

    關注

    29

    文章

    1367

    瀏覽量

    112263

原文標題:優(yōu)秀的 Verilog/FPGA開源項目- 脈沖神經(jīng)網(wǎng)絡 (SNN)

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    與PDM接口相關的開源項目

    優(yōu)秀的 Verilog/FPGA開源項目介紹(三十四)- PDM音頻接口設計及信號處理 ? 緒論 今天
    的頭像 發(fā)表于 10-17 09:10 ?3841次閱讀

    開源FPGA項目有哪些

    請問開源FPGA項目有哪些?
    發(fā)表于 12-26 12:09

    CPU數(shù)字通信接口和FPGA進行數(shù)據(jù)通信設計實現(xiàn)

    Verilog/FPGA開源項目介紹(一)-PCIe通信下面是XILLYBUS的架構:總結上面的介紹
    發(fā)表于 08-19 16:32

    FPGA verilog相關設計實踐

    FPGA verilog 相關設計實踐
    發(fā)表于 09-06 11:19 ?33次下載

    verilog基礎模塊的介紹

    本文主要介紹verilog基礎模塊,夯實基礎,對深入學習FPGA會有很大幫助。
    的頭像 發(fā)表于 02-08 15:04 ?3015次閱讀
    <b class='flag-5'>verilog</b>基礎模塊的<b class='flag-5'>介紹</b>

    FPGA CPLD中的Verilog設計小技巧

    FPGA CPLD中的Verilog設計小技巧(肇慶理士電源技術有限)-FPGA CPLD中的Verilog設計小技巧? ? ? ? ? ? ? ? ?
    發(fā)表于 09-18 16:49 ?37次下載
    <b class='flag-5'>FPGA</b> CPLD中的<b class='flag-5'>Verilog</b>設計小技巧

    FPGA中如何使用Verilog處理圖像

    FPGA項目旨在詳細展示如何使用Verilog處理圖像,從Verilog中讀取輸入位圖圖像(.bmp),處理并將處理結果寫入Verilog
    的頭像 發(fā)表于 09-23 15:50 ?6653次閱讀

    優(yōu)秀的 Verilog/FPGA開源項目介紹(一)

    優(yōu)秀的 Verilog/FPGA開源項目介紹(一)-PCIe通信 今天開始會陸續(xù)介紹一些優(yōu)秀的
    的頭像 發(fā)表于 10-11 15:31 ?1w次閱讀
    優(yōu)秀的 <b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b><b class='flag-5'>介紹</b>(一)

    優(yōu)秀的 Verilog/FPGA開源項目之 USB通信

    優(yōu)秀的 Verilog/FPGA開源項目介紹(五)- USB通信 USB是我們生活中非常非常常見的接口,鼠標、鍵盤以及常見的U 盤等,可以說
    的頭像 發(fā)表于 11-02 14:54 ?9420次閱讀
    優(yōu)秀的 <b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>之 USB通信

    Verilog/FPGA開源項目介紹

    優(yōu)秀的 Verilog/FPGA開源項目介紹(七)- CAN0、CAN總線介紹《【科普】CAN總
    的頭像 發(fā)表于 11-17 11:19 ?3420次閱讀

    TTL FPGA開源項目

    電子發(fā)燒友網(wǎng)站提供《TTL FPGA開源項目.zip》資料免費下載
    發(fā)表于 07-28 10:18 ?3次下載
    TTL <b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>

    優(yōu)秀的IC/FPGA開源項目:偽紅外圖像處理

    《優(yōu)秀的IC/FPGA開源項目》是新開的系列,旨在介紹單一項目,會比《優(yōu)秀的 Verilog/
    的頭像 發(fā)表于 06-09 09:42 ?2813次閱讀
    優(yōu)秀的IC/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>:偽紅外圖像處理

    介紹一個使用FPGA做的開源示波器

    其實用FPGA做的示波器有很多,開源的相對較少,我們今天就簡單介紹一個使用FPGA做的開源示波器:
    發(fā)表于 08-14 09:03 ?1464次閱讀

    關于FPGA開源項目介紹

    Hello,大家好,之前給大家分享了大約一百多個關于FPGA開源項目,涉及PCIe、網(wǎng)絡、RISC-V、視頻編碼等等,這次給大家?guī)淼氖遣豢菰锏膴蕵?b class='flag-5'>項目,主要偏向老的游戲內核使用
    的頭像 發(fā)表于 01-10 10:54 ?2081次閱讀
    關于<b class='flag-5'>FPGA</b>的<b class='flag-5'>開源</b><b class='flag-5'>項目</b><b class='flag-5'>介紹</b>

    開源ISP(Infinite-ISP)介紹

    公開,都是給一堆函數(shù)自己調用調試。因為廠商將 ISP 算法視為保持市場競爭力的獨特秘訣。雖然之前介紹了很多開源ISP項目(優(yōu)秀的 Verilog/F
    的頭像 發(fā)表于 11-18 10:21 ?1279次閱讀
    <b class='flag-5'>開源</b>ISP(Infinite-ISP)<b class='flag-5'>介紹</b>