[發明專利]一種CNN加速方法、加速裝置及計算機可讀存儲介質在審
| 申請號: | 202010412121.2 | 申請日: | 2020-05-15 |
| 公開(公告)號: | CN111626405A | 公開(公告)日: | 2020-09-04 |
| 發明(設計)人: | 史超超 | 申請(專利權)人: | TCL華星光電技術有限公司 |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/08;G06F13/28 |
| 代理公司: | 深圳紫藤知識產權代理有限公司 44570 | 代理人: | 楊艇要 |
| 地址: | 518132 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 cnn 加速 方法 裝置 計算機 可讀 存儲 介質 | ||
1.一種CNN加速方法,用于FPGA,其特征在于,包括:
通過DMA接口將完成邊界填充的圖像數據緩存進入行緩存區;
調用FPGA內置的硬件加速單元對所述的行緩存區內的數據進行卷積運算,所述的卷積運算的卷積核大小為N×N,每個卷積層的行緩存接口數量為N;
將完成卷積運算的像素緩存至緩存區,并通過DMA端口傳輸至外部DDR;其中N為大于1的整數。
2.根據權利要求1所述的方法,其特征在于,所述的卷積運算包括:
從bram中抓取所需要的N2個像素及對應的權重;
通過非0值判斷模塊判斷所述的N2個像素及對應的權重是否存在零值;
對抓取的像素矩陣及對應的權重矩陣進行卷積計算:當所述的N2個像素及對應的權重不存在零值時,利用N2個乘法器對所述像素矩陣中的元素及所述權重矩陣中的元素進行乘法運算,然后利用N2-1個加法器對所述的N2個乘法器的輸出數據相加,完成卷積運算;當所述的N2個像素及對應的權重存在零值時,則在使用乘法器進行乘法運算時,忽略掉所述零值對應的相乘項。
3.根據權利要求1或2所述的方法,其特征在于,通過DMA接口將完成邊界填充的圖像數據緩存進入行緩存區之后,還包括:
調用HLS pipeline unroll指令;
且所述調用HLS pipeline unroll指令與所述的卷積運算同時進行。
4.根據權利要求1或2所述的方法,其特征在于,調用FPGA內置的硬件加速單元對所述的行緩存區內的數據進行卷積運算之后,還包括:
對所述卷積運算及將完成卷積運算的像素緩存至緩存區進行數據流操作。
5.根據權利要求1所述的方法,其特征在于,所述邊界填充由ARM CPU端完成。
6.根據權利要求5所述的方法,其特征在于,所述的ARM CPU端的輸入數據由ARM端PS從外部DDR調用。
7.一種CNN加速裝置,用于FPGA,其特征在于,包括:
第一存儲模塊,用于通過DMA接口將完成邊界填充的圖像數據緩存進入行緩存區;
運算模塊,用于調用FPGA內置的硬件加速單元對所述的行緩存區內的數據進行卷積運算,所述的卷積運算的卷積核大小為N×N,每個卷積層的行緩存接口數量為N;
第二存儲模塊,用于將完成卷積運算的像素緩存至緩存區,并通過DMA端口傳輸至外部DDR。
8.根據權利要求7所述的裝置,其特征在于,所述的硬件加速單元包括:
抓取子單元,用于從bram中抓取所需要的N2個像素及對應的權重;
判斷單子元,通過非0值判斷模塊判斷所述的N2個像素及對應的權重是否存在零值;
計算子單元,用于對抓取的像素矩陣及對應的權重矩陣進行卷積計算:當所述的N2個像素及對應的權重不存在零值時,利用N2個乘法器對所述像素矩陣中的元素及所述權重矩陣中的元素進行乘法運算,然后利用N2-1個加法器對所述的N2個乘法器的輸出數據相加,完成卷積運算;當所述的N2個像素及對應的權重存在零值時,則在使用乘法器進行乘法運算時,忽略掉所述零值對應的相乘項。
9.根據權利要求7或8所述的裝置,其特征在于,還包括:
指令調用模塊,用于調用HLS pipeline unroll指令;
且所述的調用HLS pipeline unroll指令與所述的卷積運算同時進行。
10.一種計算機可讀存儲介質,其特征在于,所述存儲介質中存儲有多條指令,所述指令適于由處理器加載以執行權利要求1-6中任一項所述的CNN加速方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于TCL華星光電技術有限公司,未經TCL華星光電技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010412121.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:觸控顯示面板及觸控顯示裝置
- 下一篇:一種組播表項自聚合的安全過濾方法





