[發(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) 方法 裝置 | ||
1.一種卷積神經(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ù)交互。
2.根據(jù)權利要求1所述的方法,其特征在于,所述多個計算單元包括:圖片數(shù)據(jù)讀取單元、模型數(shù)據(jù)讀取單元、控制器單元、特征圖數(shù)據(jù)存儲單元、PE單元、激活單元BatchNorm計算單元、池化單元、輸出單元。
3.根據(jù)權利要求2所述的方法,其特征在于,所述特征圖數(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轉(zhuǎn)換;
將經(jīng)過轉(zhuǎn)換的圖片數(shù)據(jù)、所述模型數(shù)據(jù)和控制信號發(fā)送至所述PE單元,使其進行卷積計算。
4.根據(jù)權利要求3所述的方法,其特征在于,所述PE單元接收來自所述特征圖數(shù)據(jù)存儲單元的數(shù)據(jù)和控制信號,進行點積計算,并對點積結(jié)果進行累加;
所述激活單元接收來自所述PE單元的點積計算結(jié)果,對所述點積計算結(jié)果進行Winograd轉(zhuǎn)換,然后進行激活操作,輸出計算結(jié)果;
所述BatchNorm計算單元接收來自所述激活單元的計算數(shù)據(jù),進行BatchNorm計算,輸出計算結(jié)果;
所述池化單元讀取來自所述BatchNorm單元的計算數(shù)據(jù),以流水線的方式依次處理每組輸出特征圖的池化操作;
所述輸出單元輸出最終的處理結(jié)果到外部存儲器。
5.根據(jù)權利要求1至4中任一項所述的方法,其特征在于,支持多種開源架構(gòu)的模型輸入,包括TensorFlow、Caffe、MxNet。
6.一種卷積神經(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ù)交。
7.根據(jù)權利要求6所述的裝置,其特征在于,所述多個計算單元包括:圖片數(shù)據(jù)讀取單元、模型數(shù)據(jù)讀取單元、控制器單元、特征圖數(shù)據(jù)存儲單元、PE單元、激活單元BatchNorm計算單元、池化單元、輸出單元。
8.根據(jù)權利要求7所述的裝置,其特征在于,所述特征圖數(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轉(zhuǎn)換,以及將經(jīng)過轉(zhuǎn)換的圖片數(shù)據(jù)、所述模型數(shù)據(jù)和控制信號發(fā)送至所述PE單元,使其進行卷積計算。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述PE單元接收來自所述特征圖數(shù)據(jù)存儲單元的數(shù)據(jù)和控制信號,進行點積計算,并對點積結(jié)果進行累加;
所述激活單元接收來自所述PE單元的點積計算結(jié)果,對所述點積計算結(jié)果進行Winograd轉(zhuǎn)換,然后進行激活操作,輸出計算結(jié)果;
所述BatchNorm計算單元接收來自所述激活單元的計算數(shù)據(jù),進行BatchNorm計算,輸出計算結(jié)果;
所述池化單元讀取來自所述BatchNorm單元的計算數(shù)據(jù),以流水線的方式依次處理每組輸出特征圖的池化操作;
所述輸出單元輸出最終的處理結(jié)果到外部存儲器。
10.根據(jù)權利要求6至9中任一項所述的裝置,其特征在于,支持多種開源架構(gòu)的模型輸入,包括TensorFlow、Caffe、MxNet。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經(jīng)鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711318756.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:基于深度增強學習的等切削力齒輪加工方法
- 下一篇:一種合同條款分類方法
- 硬件神經(jīng)網(wǎng)絡轉(zhuǎn)換方法、計算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡
- 神經(jīng)網(wǎng)絡的生成方法、生成裝置和電子設備
- 一種舌診方法、裝置、計算設備及計算機存儲介質(zhì)
- 學習神經(jīng)網(wǎng)絡結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡轉(zhuǎn)換方法及相關轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲介質(zhì)和計算機設備
- 一種適應目標數(shù)據(jù)集的網(wǎng)絡模型微調(diào)方法、系統(tǒng)、終端和存儲介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡的處理器及其操作方法、電氣設備
- 一種圖像神經(jīng)網(wǎng)絡結(jié)構(gòu)的優(yōu)化方法及裝置
- 互動業(yè)務終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設備實現(xiàn)方法及其實現(xiàn)裝置





