[發明專利]一種基于FPGA的卷積神經網絡加速系統有效
| 申請號: | 201810710069.1 | 申請日: | 2018-07-02 |
| 公開(公告)號: | CN109086867B | 公開(公告)日: | 2021-06-08 |
| 發明(設計)人: | 李開;鄒復好;孫浩;李全;祁迪;賀坤坤 | 申請(專利權)人: | 武漢魅瞳科技有限公司 |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/063 |
| 代理公司: | 武漢東喻專利代理事務所(普通合伙) 42224 | 代理人: | 趙偉 |
| 地址: | 430074 湖北省武漢市*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 卷積 神經網絡 加速 系統 | ||
1.一種基于FPGA的卷積神經網絡加速系統,其特征在于,包括數據預處理模塊、卷積神經網絡計算模塊、數據后處理模塊、數據存儲模塊和網絡模型配置模塊;所述數據預處理模塊、卷積神經網絡計算模塊和數據后處理模塊基于FPGA實現,數據存儲模塊基于FPGA片外存儲實現,網絡模型配置模塊基于FPGA的片上存儲實現;
所述數據預處理模塊用于根據當前所處的計算階段從數據存儲模塊中讀取相應的卷積核參數和輸入特征圖,并對卷積核參數和輸入特征圖進行預處理:將4維卷積核參數整理成3維,并對輸入特征圖利用滑動窗口展開并復制,使得滑動窗口中的局部特征圖與卷積核參數一一對應,獲得便于直接計算的卷積核參數序列和局部特征圖系列;預處理完成后將處理好的卷積核參數和輸入特征圖發送到卷積神經網絡計算模塊;具體的,讀取卷積核時根據模型參數配置模塊中預定義的參數讀取PARALLEL_KERNEL個尺寸大小為k*k*Ci的卷積核,其中Ci表示輸入特征圖的通道數,讀入卷積核后開始對卷積核進行序列化操作,即將尺寸為k*k*Ci*PARALLEL_KERNEL的四維卷積核排列成尺寸大小為k*k*(Ci*PARALLEL_KERNEL)的三維形式;
處理輸入特征圖時,首先將尺寸大小為H*W*Ci的特征圖讀入,然后根據特征圖上滑動窗口的大小和移動步長將特征圖鋪展開來,展開后的特征圖的尺寸大小為((W-k)/stride+1)*((H-k)/stride+1)*Ci;
輸入特征圖展開后,根據配置參數截取尺寸大小為(PARALLEL_FEATURE_W)*(PARALLEL_FEATURE_H)*Ci的部分特征圖,將截取的特征圖復制多份,使其數量與卷積核的數量相同,最終得到了尺寸大小為(PARALLEL_FEATURE_W)*(PARALLEL_FEATURE_H)*(Ci*PARALLEL_KERNEL)的特征圖,以使多個卷積核與特征圖的計算能夠并行;
所述網絡模型配置模塊用于對卷積神經網絡計算模塊進行參數配置;所述卷積神經網絡計算模塊將卷積神經網絡中的卷積層、激活函數層、池化層和全連接層獨立設置,通過參數配置來構建多種不同的網絡結構,并根據配置參數對接收自數據預處理模塊的卷積核參數和輸入特征圖進行卷積、激化、池化和全連接計算的層間流水處理,處理結果發送到數據后處理模塊;
所述數據后處理模塊用于將卷積神經網絡計算模塊的輸出數據寫入到數據存儲模塊中;
所述數據存儲模塊用于存儲卷積神經網絡的模型參數caffemodel、中間特征圖計算結果和最終計算結果,該模塊通過PCIe接口與外部宿主機進行數據交換;
所述卷積神經網絡計算模塊由卷積計算子模塊、激活函數計算子模塊、池化計算子模塊、全連接計算子模塊根據網絡模型配置參數級聯而成,這些子模塊間使用OpenCLChannel進行數據傳輸,這些子模塊內的計算是并行執行的,這些子模塊間的計算是流水進行的;
所述卷積計算子模塊包括一個或多個矩陣乘法計算子模塊;矩陣乘法計算子模塊的數量由網絡模型配置模塊預定義的配置參數設定;各個矩陣乘法計算子模塊之間的處理是并行執行的;
矩陣乘法計算子模塊使用Winograd最小濾波算法來加速運算,用于計算獲取單個卷積核與對應的局部特征圖之間的矩陣乘法。
2.如權利要求1所述的卷積神經網絡加速系統,其特征在于,所述卷積神經網絡計算模塊包括卷積計算子模塊、激活函數計算子模塊、池化計算子模塊和全連接計算子模塊;卷積神經網絡計算模塊內部的這些子模塊之間根據所述網絡模型配置模塊預定義的網絡模型配置參數來連接;
所述卷積計算子模塊利用輸入的卷積核參數和特征圖進行卷積計算,完成后將結果發送到激活函數計算子模塊;
所述激活函數計算子模塊根據網絡模型參數配置模塊預定義的激活函數配置參數選擇激活函數;利用選定的激活函數對特征圖進行激活計算,完成后根據參數配置將結果發送到池化計算子模塊或者全連接計算子模塊中;
所述池化計算子模塊用于對接收的特征圖進行池化計算,并根據網絡模型配置模塊預定義的配置參數將池化結果發送到全連接計算模塊,或直接發送到數據后處理模塊;
所述全連接計算子模塊用于對接收的特征圖進行全連接計算,將全連接結果發送到數據后處理模塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢魅瞳科技有限公司,未經武漢魅瞳科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810710069.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種適用于嵌入式設備的部分二值卷積方法
- 下一篇:一種抽象圖像情感識別方法





