[發(fā)明專利]面向向量處理器的卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算向量化方法有效
| 申請?zhí)枺?/td> | 201810687639.X | 申請日: | 2018-06-28 |
| 公開(公告)號(hào): | CN108985450B | 公開(公告)日: | 2019-10-29 |
| 發(fā)明(設(shè)計(jì))人: | 劉仲;田希;陳海燕;郭陽;扈嘯;孫永節(jié);陳躍躍;王麗萍 | 申請(專利權(quán))人: | 中國人民解放軍國防科技大學(xué) |
| 主分類號(hào): | G06N3/063 | 分類號(hào): | G06N3/063;G06F17/15;G06F17/16 |
| 代理公司: | 湖南兆弘專利事務(wù)所(普通合伙) 43008 | 代理人: | 周長清;胡君 |
| 地址: | 410073 湖南*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 緩沖區(qū) 卷積運(yùn)算 運(yùn)算 卷積神經(jīng)網(wǎng)絡(luò) 向量處理器 向量存儲(chǔ)器 輸入特征 向量數(shù)據(jù) 向量化 計(jì)算效率 結(jié)果傳輸 卷積計(jì)算 向量處理 向量陣列 循環(huán)執(zhí)行 依次讀取 并行性 卷積核 累加 移動(dòng) 處理器 存儲(chǔ) | ||
1.一種面向向量處理器的卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算向量化方法,其特征在于,步驟包括:
S1.將向量存儲(chǔ)器的標(biāo)量存儲(chǔ)L1D設(shè)置為SRAM方式,并根據(jù)向量處理器的體系結(jié)構(gòu)特征參數(shù)、輸入特征參數(shù)和卷積核參數(shù)將L1D劃分為兩個(gè)緩沖區(qū)以存儲(chǔ)輸入特征數(shù)據(jù);
S2.依次將輸入特征數(shù)據(jù)傳入到L1D的兩個(gè)緩沖區(qū)中;
S3.依次將卷積核數(shù)據(jù)傳入到向量存儲(chǔ)器的向量陣列中進(jìn)行存儲(chǔ);
S4.依次開啟L1D中兩個(gè)緩沖區(qū)的計(jì)算,每個(gè)緩沖區(qū)計(jì)算時(shí)從緩沖區(qū)中依次選取一個(gè)移動(dòng)卷積運(yùn)算窗口與向量陣列中存儲(chǔ)的所述卷積核數(shù)據(jù)進(jìn)行卷積運(yùn)算,每個(gè)所述移動(dòng)卷積運(yùn)算窗口進(jìn)行運(yùn)算時(shí),依次讀取一個(gè)輸入特征數(shù)據(jù)并擴(kuò)展為向量數(shù)據(jù),各卷積核分別從向量陣列中讀取對(duì)應(yīng)的所述卷積核數(shù)據(jù)后與擴(kuò)展得到的向量數(shù)據(jù)進(jìn)行乘累加;
S5.由向量處理部件將得到的卷積計(jì)算結(jié)果傳輸?shù)狡獯鎯?chǔ)中;
S6.循環(huán)執(zhí)行步驟S2~S5,直至完成所有輸入特征數(shù)據(jù)的卷積運(yùn)算;
所述步驟S4中每個(gè)所述移動(dòng)卷積運(yùn)算窗口進(jìn)行運(yùn)算時(shí),具體由向量處理器的標(biāo)量處理部件SPU依次從所述移動(dòng)卷積運(yùn)算窗口中讀取一個(gè)輸入特征數(shù)據(jù),并擴(kuò)展到向量處理部件的一個(gè)向量數(shù)據(jù),得到擴(kuò)展后向量數(shù)據(jù),由向量處理部件VPU對(duì)n個(gè)卷積核依次讀取對(duì)應(yīng)的卷積核的一個(gè)卷積核數(shù)據(jù)后,分別與所述擴(kuò)展后向量數(shù)據(jù)進(jìn)行乘累加,當(dāng)遍歷完所述移動(dòng)卷積運(yùn)算窗口內(nèi)所有輸入特征數(shù)據(jù)后,完成當(dāng)前移動(dòng)卷積運(yùn)算窗口的卷積計(jì)算。
2.根據(jù)權(quán)利要求1所述的面向向量處理器的卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算向量化方法,其特征在于,兩個(gè)所述緩沖區(qū)的數(shù)據(jù)傳輸與計(jì)算過程為相互重疊,即當(dāng)一個(gè)緩沖區(qū)中數(shù)據(jù)就緒以后進(jìn)行計(jì)算,同時(shí)開啟另一個(gè)緩沖區(qū)的數(shù)據(jù)傳輸,完成一個(gè)緩沖區(qū)的計(jì)算以后再開啟另一個(gè)緩沖區(qū)的計(jì)算。
3.根據(jù)權(quán)利要求1所述的面向向量處理器的卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算向量化方法,其特征在于,所述步驟S1中劃分兩個(gè)緩沖區(qū)的具體步驟為:令t=(w+2p-k)/s+1,其中,w為輸入特征的行數(shù)、列數(shù),p為填充的數(shù)量,k為卷積核的行、列數(shù),s為卷積計(jì)算的步長,若t為偶數(shù),則令t1=t2=t/2,若t為奇數(shù),則令t1=(t+1)/2,t2=(t-1)/2,且令w1=(t1-1)*s+k,w2=(t2-1)*s+k;將L1D劃分為第一緩沖區(qū)Buffer1和第二緩沖區(qū)Buffer2,所述第一緩沖區(qū)Buffer1存儲(chǔ)的輸入特征數(shù)據(jù)的規(guī)模為c*r*w1,所述第二緩沖區(qū)Buffer2存儲(chǔ)的輸入特征數(shù)據(jù)的規(guī)模為c*r*w2,其中c為通道數(shù)目,r為滿足所述第一緩沖區(qū)Buffer1與所述第二緩沖區(qū)Buffer2的存儲(chǔ)數(shù)據(jù)量之和不超過L1D容量的最大值。
4.根據(jù)權(quán)利要求3所述的面向向量處理器的卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算向量化方法,其特征在于,所述步驟S2的具體步驟為:每次傳入輸入特征數(shù)據(jù)時(shí),所述第一緩沖區(qū)Buffer1存儲(chǔ)每個(gè)通道的前w1列數(shù)據(jù),所述第二緩沖區(qū)Buffer2存儲(chǔ)的是每個(gè)通道的后w2列數(shù)據(jù),其中將輸入特征數(shù)據(jù)傳入到所述第一緩沖區(qū)Buffer1時(shí),將c個(gè)通道的輸入特征數(shù)據(jù)依次進(jìn)行存儲(chǔ),且每個(gè)通道的輸入特征數(shù)據(jù)存儲(chǔ)時(shí),按照r*w1矩陣模式存儲(chǔ)數(shù)據(jù),即矩陣的行數(shù)為r,矩陣的列數(shù)為w1;將輸入特征數(shù)據(jù)傳入至所述第二緩沖區(qū)Buffer2時(shí),將c個(gè)通道的輸入特征數(shù)據(jù)依次存儲(chǔ),且每個(gè)通道的輸入特征數(shù)據(jù)存儲(chǔ)時(shí),按照r*w2矩陣模式存儲(chǔ)數(shù)據(jù),即矩陣的行數(shù)為r,矩陣的列數(shù)為w2。
5.根據(jù)權(quán)利要求1~4中任意一項(xiàng)所述的面向向量處理器的卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算向量化方法,其特征在于,所述步驟S3的具體步驟為:將各個(gè)通道的卷積核數(shù)據(jù)依次存儲(chǔ),且每個(gè)通道的n個(gè)卷積核數(shù)據(jù)存儲(chǔ)時(shí),按照(k2)*n矩陣模式存儲(chǔ)數(shù)據(jù),其中k為卷積核的行、列數(shù),n為卷積核的個(gè)數(shù),即矩陣的行數(shù)為卷積核的行列數(shù)乘積(k2),矩陣的列數(shù)為卷積核的個(gè)數(shù)n,使得卷積核的元素全部依次存儲(chǔ)在一列上。
6.根據(jù)權(quán)利要求1~4中任意一項(xiàng)所述的面向向量處理器的卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算向量化方法,其特征在于,所述步驟S4中,具體根據(jù)卷積步長s選取所述移動(dòng)卷積運(yùn)算窗口,將所述移動(dòng)卷積運(yùn)算窗口中輸入特征數(shù)據(jù)與所有需要進(jìn)行卷積計(jì)算的n個(gè)卷積核分別進(jìn)行計(jì)算,完成所述移動(dòng)卷積運(yùn)算窗口內(nèi)輸入特征數(shù)據(jù)的卷積運(yùn)算。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國人民解放軍國防科技大學(xué),未經(jīng)中國人民解放軍國防科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810687639.X/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種主動(dòng)回收數(shù)據(jù)緩沖區(qū)的方法
- 緩沖區(qū)控制裝置及方法
- 緩沖區(qū)數(shù)的調(diào)整方法和裝置
- 一種面向多租戶的緩沖區(qū)管理方法及服務(wù)器
- 一種汽車CAN總線網(wǎng)關(guān)的報(bào)文收發(fā)方法及系統(tǒng)
- 數(shù)據(jù)緩沖方法、裝置及存儲(chǔ)介質(zhì)
- 高并發(fā)數(shù)據(jù)存儲(chǔ)方法及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 環(huán)形緩沖區(qū)的數(shù)據(jù)寫入方法、裝置、設(shè)備及介質(zhì)
- 一種能夠保證接收數(shù)據(jù)完整性的數(shù)據(jù)緩沖系統(tǒng)及方法
- 一種串口通信中的雙指針環(huán)形緩沖區(qū)設(shè)計(jì)方法及系統(tǒng)
- 終端卷積神經(jīng)網(wǎng)絡(luò)的處理方法、裝置、存儲(chǔ)介質(zhì)及處理器
- 一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像深度估計(jì)方法
- 卷積神經(jīng)網(wǎng)絡(luò)的生成方法及裝置
- 一種卷積神經(jīng)網(wǎng)絡(luò)硬件模塊部署方法
- 卷積神經(jīng)網(wǎng)絡(luò)的處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法及裝置
- 一種基于通道數(shù)搜索卷積神經(jīng)網(wǎng)絡(luò)的方法
- 卷積神經(jīng)網(wǎng)絡(luò)處理方法、裝置和電子系統(tǒng)
- 一種基于空洞卷積循環(huán)神經(jīng)網(wǎng)絡(luò)的聲音事件檢測方法
- 基于稀疏卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測方法及檢測裝置





