[發(fā)明專利]一種卷積神經(jīng)網(wǎng)絡在FPGA上的實現(xiàn)方法及裝置在審
| 申請?zhí)枺?/td> | 201711318756.0 | 申請日: | 2017-12-12 |
| 公開(公告)號: | CN107992940A | 公開(公告)日: | 2018-05-04 |
| 發(fā)明(設計)人: | 景璐 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/063 |
| 代理公司: | 北京安信方達知識產(chǎn)權代理有限公司11262 | 代理人: | 李紅爽,李丹 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 卷積 神經(jīng)網(wǎng)絡 fpga 實現(xiàn) 方法 裝置 | ||
技術領域
本發(fā)明屬于計算機領域,尤其涉及一種卷積神經(jīng)網(wǎng)絡在FPGA上的實現(xiàn)方法及裝置。
背景技術
卷積神經(jīng)網(wǎng)絡(CNN)是人工神經(jīng)網(wǎng)絡的一種,廣泛應用于圖像分類、目標識別、行為識別、語音識別、自然語言處理和文檔分類等領域。近幾年來,隨著計算機計算能力的增長以及神經(jīng)網(wǎng)路結構的發(fā)展,CNN的網(wǎng)絡性能和識別準確度都有了很大的提高。但與此同時,網(wǎng)絡的深度不斷加深,網(wǎng)絡的計算量也越來越大。
因此,迫切需要提供一種實現(xiàn)方案,以提高運算速度。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種卷積神經(jīng)網(wǎng)絡在FPGA上的實現(xiàn)方法及裝置,以解決上述問題。
本發(fā)明實施例提供一種卷積神經(jīng)網(wǎng)絡在FPGA上的實現(xiàn)方法。上述方法包括以下步驟:壓縮神經(jīng)網(wǎng)絡模型,并將壓縮后的神經(jīng)網(wǎng)絡模型存儲于FPGA存儲器中;所述神經(jīng)網(wǎng)絡模型中神經(jīng)網(wǎng)絡單層包括多個計算單元,在FPGA上并行實現(xiàn),各個所述計算單元之間通過channel進行數(shù)據(jù)交互。
本發(fā)明實施例還提供一種卷積神經(jīng)網(wǎng)絡實現(xiàn)裝置,包括:壓縮模塊,用于壓縮神經(jīng)網(wǎng)絡模型,并將壓縮后的神經(jīng)網(wǎng)絡模型存儲于FPGA存儲器中;FPGA模塊,所述神經(jīng)網(wǎng)絡模型中神經(jīng)網(wǎng)絡單層包括多個計算單元,在所述FPGA模塊上并行實現(xiàn),各個所述計算單元之間通過channel進行數(shù)據(jù)交。
通過以下方案:壓縮神經(jīng)網(wǎng)絡模型,并將壓縮后的神經(jīng)網(wǎng)絡模型存儲于FPGA存儲器中;神經(jīng)網(wǎng)絡模型中神經(jīng)網(wǎng)絡單層包括多個計算單元,在FPGA上并行實現(xiàn),各個計算單元之間通過channel進行數(shù)據(jù)交互。通過FPGA這種計算密集性計算設備提高了運算速度,另外壓縮神經(jīng)網(wǎng)絡模型,使其模型可以全部存儲到FPGA片上存儲器,使得所有的推理計算和數(shù)據(jù)通信都在FPGA內(nèi)部進行,大大減小了外部存儲器通信帶來的高功耗和低延遲,大大提升了FPGA對神經(jīng)網(wǎng)絡模型的處理效率。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
圖1所示為本發(fā)明實施例1的卷積神經(jīng)網(wǎng)絡在FPGA上的實現(xiàn)方法處理流程圖;
圖2所示為本發(fā)明實施例2的卷積神經(jīng)網(wǎng)絡算法整體實現(xiàn)架構示意圖;
圖3所示為本發(fā)明實施例2的卷積神經(jīng)網(wǎng)絡各層實現(xiàn)方案圖;
圖4所示為本發(fā)明實施例3的卷積神經(jīng)網(wǎng)絡實現(xiàn)裝置結構圖。
具體實施方式
下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
圖1所示為本發(fā)明實施例1的卷積神經(jīng)網(wǎng)絡在FPGA上的實現(xiàn)方法處理流程圖,包括以下步驟:
步驟102:壓縮神經(jīng)網(wǎng)絡模型,并將壓縮后的神經(jīng)網(wǎng)絡模型存儲于FPGA存儲器中。
步驟104:所述神經(jīng)網(wǎng)絡模型中神經(jīng)網(wǎng)絡單層包括多個計算單元,在FPGA上并行實現(xiàn),各個所述計算單元之間通過channel進行數(shù)據(jù)交互。
上述方案通過FPGA這種計算密集性計算設備提高了運算速度,另外壓縮神經(jīng)網(wǎng)絡模型,使其模型可以全部存儲到FPGA片上存儲器,使得所有的推理計算和數(shù)據(jù)通信都在FPGA內(nèi)部進行,大大減小了外部存儲器通信帶來的高功耗和低延遲,大大提升了FPGA對神經(jīng)網(wǎng)絡模型的處理效率。
進一步地,所述多個計算單元包括:圖片數(shù)據(jù)讀取單元、模型數(shù)據(jù)讀取單元、控制器單元、特征圖數(shù)據(jù)存儲單元、PE單元、激活單元BatchNorm計算單元、池化單元、輸出單元。
進一步地,所述特征圖數(shù)據(jù)存儲單元接收所述控制器單元發(fā)送的控制信號;
接收所述圖片數(shù)據(jù)讀取單元發(fā)送的數(shù)據(jù),并根據(jù)所述控制信號中的寫地址,將所述圖片數(shù)據(jù)寫入FPGA上數(shù)據(jù)緩存的特定地址;
接收所述模型數(shù)據(jù)讀取單元讀取的模型數(shù)據(jù);
根據(jù)所述控制器單元發(fā)送的控制信號中的讀數(shù)據(jù)地址讀取當前時鐘周期PE單元計算需要的圖片數(shù)據(jù),并對該圖片數(shù)據(jù)進行Winograd轉換;
將經(jīng)過轉換的圖片數(shù)據(jù)、所述模型數(shù)據(jù)和控制信號發(fā)送至所述PE單元,使其進行卷積計算。
進一步地,所述PE單元接收來自所述特征圖數(shù)據(jù)存儲單元的數(shù)據(jù)和控制信號,進行點積計算,并對點積結果進行累加;
所述激活單元接收來自所述PE單元的點積計算結果,對所述點積計算結果進行Winograd轉換,然后進行激活操作,輸出計算結果;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經(jīng)鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711318756.0/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:基于深度增強學習的等切削力齒輪加工方法
- 下一篇:一種合同條款分類方法
- 硬件神經(jīng)網(wǎng)絡轉換方法、計算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡
- 神經(jīng)網(wǎng)絡的生成方法、生成裝置和電子設備
- 一種舌診方法、裝置、計算設備及計算機存儲介質
- 學習神經(jīng)網(wǎng)絡結構
- 脈沖神經(jīng)網(wǎng)絡轉換方法及相關轉換芯片
- 圖像處理方法、裝置、可讀存儲介質和計算機設備
- 一種適應目標數(shù)據(jù)集的網(wǎng)絡模型微調方法、系統(tǒng)、終端和存儲介質
- 用于重構人工神經(jīng)網(wǎng)絡的處理器及其操作方法、電氣設備
- 一種圖像神經(jīng)網(wǎng)絡結構的優(yōu)化方法及裝置
- 互動業(yè)務終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲實現(xiàn)系統(tǒng)和游戲實現(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設備實現(xiàn)方法及其實現(xiàn)裝置





