[發(fā)明專利]基于Cortex-M處理器的卷積神經(jīng)網(wǎng)絡(luò)加速方法、系統(tǒng)和介質(zhì)在審
| 申請?zhí)枺?/td> | 202111638233.0 | 申請日: | 2021-12-29 |
| 公開(公告)號: | CN114282662A | 公開(公告)日: | 2022-04-05 |
| 發(fā)明(設(shè)計)人: | 不公告發(fā)明人 | 申請(專利權(quán))人: | 杭州萬高科技股份有限公司 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063;G06N3/04 |
| 代理公司: | 杭州創(chuàng)智卓英知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 33324 | 代理人: | 季健康 |
| 地址: | 310053 浙江省杭州市濱江區(qū)浦*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 cortex 處理器 卷積 神經(jīng)網(wǎng)絡(luò) 加速 方法 系統(tǒng) 介質(zhì) | ||
本申請涉及一種基于Cortex?M處理器的卷積神經(jīng)網(wǎng)絡(luò)加速方法、系統(tǒng)和介質(zhì),其中,該方法包括:根據(jù)卷積神經(jīng)網(wǎng)絡(luò)的共性基礎(chǔ)算子設(shè)置MCR指令和CDP指令,其中,共性基礎(chǔ)算子包括卷積算子、Relu激活算子、池化算子、查表算子和量化算子;通過MCR指令對卷積神經(jīng)網(wǎng)絡(luò)協(xié)處理器的內(nèi)部寄存器進(jìn)行配置,再通過CDP指令啟動卷積神經(jīng)網(wǎng)絡(luò)的共性基礎(chǔ)算子,通過本申請,解決了卷積神經(jīng)網(wǎng)絡(luò)算法在處理器執(zhí)行中的低效、高成本和不靈活的問題,實現(xiàn)了通過協(xié)處理器指令集執(zhí)行卷積神經(jīng)網(wǎng)絡(luò)所需要的基礎(chǔ)算子,對于算法多變的應(yīng)用領(lǐng)域可降低重構(gòu)硬件的成本。
技術(shù)領(lǐng)域
本申請涉及深度學(xué)習(xí)技術(shù)領(lǐng)域,特別是涉及一種基于Cortex-M處理器的卷積神經(jīng)網(wǎng)絡(luò)加速方法、系統(tǒng)和介質(zhì)。
背景技術(shù)
隨著科學(xué)技術(shù)的不斷發(fā)展,人工智能技術(shù)正不斷地融入到人們的日常生活當(dāng)中,目標(biāo)檢測、語音識別等應(yīng)用使社會運作得更加高效有序,例如應(yīng)用于圖像識別的ImageNet實現(xiàn)了高于人眼的物體識別正確率。卷積神經(jīng)網(wǎng)絡(luò)CNN作為人工神經(jīng)網(wǎng)絡(luò)中的一種,無需手動選取特征或是明確輸入輸出的關(guān)系,它能夠自動獲取原始數(shù)據(jù)的特征從而得到輸入輸出之間的映射關(guān)系。卷積神經(jīng)網(wǎng)絡(luò)中的基礎(chǔ)運算包括卷積、池化、向量運算和Relu激活。
針對云計算中大量數(shù)據(jù)長距離傳輸?shù)膸挸杀疽约把舆t問題,越來越多的邊緣設(shè)備開始支持卷積神經(jīng)網(wǎng)絡(luò)的相關(guān)運算(例如卷積、激活、池化等),除了直接利用MCU的中央處理器來進(jìn)行運算外,各種配備在MCU上的卷積神經(jīng)網(wǎng)絡(luò)硬件加速器也被設(shè)計出來進(jìn)行特定的運算加速。但是典型的微控制單元MCU無法勝任如此巨大的數(shù)據(jù)運算,會導(dǎo)致在端側(cè)的推理時間冗長;專用的硬件加速器結(jié)構(gòu)固定不靈活,而針對形式多變的算法制定硬件加速器會增加開發(fā)成本。
目前針對相關(guān)技術(shù)中卷積神經(jīng)網(wǎng)絡(luò)算法在處理器執(zhí)行中的低效、高成本和不靈活的問題,尚未提出有效的解決方案。
發(fā)明內(nèi)容
本申請實施例提供了一種基于Cortex-M處理器的卷積神經(jīng)網(wǎng)絡(luò)加速方法、系統(tǒng)和介質(zhì),以至少解決相關(guān)技術(shù)中卷積神經(jīng)網(wǎng)絡(luò)算法在處理器執(zhí)行中的低效、高成本和不靈活的問題。
第一方面,本申請實施例提供了一種基于Cortex-M處理器的卷積神經(jīng)網(wǎng)絡(luò)加速方法,所述方法包括:
根據(jù)卷積神經(jīng)網(wǎng)絡(luò)的共性基礎(chǔ)算子設(shè)置MCR指令和CDP指令,其中,所述共性基礎(chǔ)算子包括卷積算子、Relu激活算子、池化算子、查表算子和量化算子;
通過所述MCR指令對卷積神經(jīng)網(wǎng)絡(luò)協(xié)處理器的內(nèi)部寄存器進(jìn)行配置,再通過所述CDP指令啟動所述卷積神經(jīng)網(wǎng)絡(luò)的共性基礎(chǔ)算子。
在其中一些實施例中,通過所述MCR指令對卷積神經(jīng)網(wǎng)絡(luò)協(xié)處理器的內(nèi)部寄存器進(jìn)行配置包括:
通過所述MCR指令對卷積神經(jīng)網(wǎng)絡(luò)協(xié)處理器的內(nèi)部寄存器進(jìn)行數(shù)據(jù)地址的配置、跨步塊信息的配置和格式信息的配置,其中,所述數(shù)據(jù)地址用于運算中數(shù)據(jù)的讀寫,所述跨步塊信息用于運算中數(shù)據(jù)的分塊,所述格式信息用于確認(rèn)數(shù)據(jù)的運算格式和寫回格式。
在其中一些實施例中,通過所述MCR指令配置內(nèi)部寄存器,再通過所述CDP指令啟動所述共性基礎(chǔ)算子包括:
通過第一MCR指令,配置卷積核的本地緩存地址到第一寄存器,配置特征數(shù)據(jù)的本地緩存地址到第二寄存器,配置跨步塊信息到尺度寄存器,配置格式信息到控制寄存器;
通過所述CDP指令啟動所述卷積算子,根據(jù)所述跨步塊信息確定每次運算中所述特征數(shù)據(jù)的預(yù)設(shè)通道數(shù)和預(yù)設(shè)組數(shù);
根據(jù)所述特征數(shù)據(jù)的總通道數(shù)和所述預(yù)設(shè)通道數(shù),按通道方向依次執(zhí)行所述特征數(shù)據(jù)和所述卷積核的乘累加運算;
在所述特征數(shù)據(jù)的每一個通道中,根據(jù)所述特征數(shù)據(jù)的總組數(shù)、所述預(yù)設(shè)組數(shù)和所述格式信息,按預(yù)設(shè)方向依次對所述特征數(shù)據(jù)和所述卷積核進(jìn)行乘累加運算,直到得出所有通道的卷積結(jié)果。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州萬高科技股份有限公司,未經(jīng)杭州萬高科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111638233.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 卷積運算處理方法及相關(guān)產(chǎn)品
- 一種卷積神經(jīng)網(wǎng)絡(luò)的計算方法及系統(tǒng)
- 卷積運算方法及系統(tǒng)
- 卷積運算方法、裝置及系統(tǒng)
- 深度神經(jīng)網(wǎng)絡(luò)裁剪方法、裝置及電子設(shè)備
- 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法和圖像處理裝置
- 卷積神經(jīng)網(wǎng)絡(luò)及基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法
- 一種圖像處理方法、裝置以及計算機(jī)存儲介質(zhì)
- 用于卷積神經(jīng)網(wǎng)絡(luò)的卷積運算裝置
- 基于FPGA實現(xiàn)圖像識別的方法、裝置、設(shè)備及存儲介質(zhì)





