[發(fā)明專利]支持嵌入式平臺多核并行的CNN網(wǎng)絡(luò)推理框架設(shè)計方法在審
| 申請?zhí)枺?/td> | 202110647708.6 | 申請日: | 2021-06-10 |
| 公開(公告)號: | CN113298259A | 公開(公告)日: | 2021-08-24 |
| 發(fā)明(設(shè)計)人: | 王嘎;楊洋;唐強;韓文俊;丁琳琳 | 申請(專利權(quán))人: | 中國電子科技集團公司第十四研究所 |
| 主分類號: | G06N5/04 | 分類號: | G06N5/04;G06N3/04;G06N3/08;G06F15/78 |
| 代理公司: | 南京知識律師事務(wù)所 32207 | 代理人: | 熊敏敏;高嬌陽 |
| 地址: | 210039 江*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 支持 嵌入式 平臺 多核 并行 cnn 網(wǎng)絡(luò) 推理 框架 設(shè)計 方法 | ||
本發(fā)明屬于雷達信息處理技術(shù)領(lǐng)域,公開了一種支持嵌入式平臺多核并行的CNN網(wǎng)絡(luò)推理框架設(shè)計方法。本發(fā)明的方法包括讀取深度學(xué)習(xí)框架訓(xùn)練后模型文件,從中提取權(quán)值和偏置參數(shù)并用指針變量定義;將CNN網(wǎng)絡(luò)中運算分別封裝成運算核函數(shù),進行通用編程接口設(shè)計,用于搭建CNN網(wǎng)絡(luò)推理框架的預(yù)測函數(shù);基于多核處理器的多線程機制,將預(yù)測函數(shù)綁定到多核處理器的核號;根據(jù)要部署CNN網(wǎng)絡(luò)推理框架的平臺類型,編寫相應(yīng)的VSIPL靜態(tài)庫;將CNN網(wǎng)絡(luò)推理框架部署在各操作系統(tǒng)。采用本發(fā)明在嵌入式平臺建立神經(jīng)網(wǎng)絡(luò)模型的推理框架,滿足應(yīng)用場景的實時處理需求,該推理框架支持多種芯片,兼容多種操作系統(tǒng)。
技術(shù)領(lǐng)域
本發(fā)明屬于雷達信息處理技術(shù)領(lǐng)域,具體涉及一種支持嵌入式平臺多核并行的CNN網(wǎng)絡(luò)推理框架設(shè)計方法。
背景技術(shù)
在嵌入式系統(tǒng)DSP平臺,深度學(xué)習(xí)面臨的挑戰(zhàn)主要是沒有一個統(tǒng)一、通用的高性能推理框架。目前Google的深度學(xué)習(xí)框架tensorflow也只是在移動端CPU、GPU端適用;百度的人工智能框架PadllePaddle也不適用于DSP平臺。在低成本、低能耗、計算能力有限的嵌入式系統(tǒng)中部署低存儲、低復(fù)雜度的深度學(xué)習(xí)框架面臨挑戰(zhàn)。硬件生產(chǎn)廠商正在努力研發(fā)基于人工智能的專門設(shè)計芯片,在硬件上加速,同時針對嵌入式設(shè)備優(yōu)化深度學(xué)習(xí)算法,針對嵌入式平臺進行高性能并行計算,以及基于嵌入式平臺建立深度學(xué)習(xí)框架,成為新的解決途徑。目前,DSP平臺缺少深度學(xué)習(xí)框架,例如神經(jīng)網(wǎng)絡(luò)算法在嵌入式DSP平臺沒有推理框架或者推理框架實時性不高。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)存在的神經(jīng)網(wǎng)絡(luò)算法在嵌入式DSP平臺沒有推理框架或者推理框架實時性不高的問題,本發(fā)明的一個目的在于提供一種支持嵌入式平臺多核并行的CNN網(wǎng)絡(luò)推理框架設(shè)計方法,用于建立神經(jīng)網(wǎng)絡(luò)模型在CPU和DSP等嵌入式平臺的推理框架,以滿足應(yīng)用場景的實時處理需求,該推理框架支持多種芯片,兼容多種操作系統(tǒng)。
具體地說,本發(fā)明是采用以下技術(shù)方案實現(xiàn)的。
本發(fā)明提供一種支持嵌入式平臺多核并行的CNN網(wǎng)絡(luò)推理框架設(shè)計方法,包括:
CNN網(wǎng)絡(luò)模型加載:讀取深度學(xué)習(xí)框架訓(xùn)練后模型文件,從中提取權(quán)值和偏置參數(shù),輸出用指針變量定義的模型權(quán)值和偏置參數(shù);
CNN網(wǎng)絡(luò)函數(shù)封裝:采用向量指令集、匯編語言和C語言將CNN網(wǎng)絡(luò)中卷積運算、池化運算、激活運算和全連接運算分別封裝成運算核函數(shù),所述各運算核函數(shù)的輸入是所述用指針變量定義的模型權(quán)值和偏置,輸出分別是卷積層函數(shù)、池化層函數(shù)、激活函數(shù)、全連接層函數(shù);基于VSIPL標(biāo)準(zhǔn)的基本塊和視圖對象設(shè)計,將封裝的卷積層函數(shù)、池化層函數(shù)、激活函數(shù)、全連接層函數(shù),包括函數(shù)參數(shù),進行編程接口設(shè)計,統(tǒng)一成具有通用神經(jīng)網(wǎng)絡(luò)編程接口的運算核函數(shù);采用所述具有通用神經(jīng)網(wǎng)絡(luò)編程接口的運算核函數(shù)搭建CNN網(wǎng)絡(luò)推理框架的預(yù)測函數(shù);
進行并行化設(shè)計:基于多核處理器的多線程機制,將所述CNN網(wǎng)絡(luò)推理框架的預(yù)測函數(shù)作為線程函數(shù),創(chuàng)建多個任務(wù)或多個線程,設(shè)計線程同步與通信,基于負載均衡原則對輸入的測試數(shù)據(jù)集進行數(shù)據(jù)劃分,通過線程綁定函數(shù)把各任務(wù)或線程綁定到多核處理器的核號;
進行跨平臺設(shè)計:根據(jù)要部署CNN網(wǎng)絡(luò)推理框架的平臺類型,編寫相應(yīng)的VSIPL靜態(tài)庫;將CNN網(wǎng)絡(luò)推理框架部署在VxWorks、Linux、Windows、SylixOS或Reworks操作系統(tǒng)。
進一步的,所述訓(xùn)練后模型文件是包含模型參數(shù)的二進制文件,由控制表頭參數(shù)+數(shù)據(jù)組成;
其中,所述控制表頭參數(shù)是整數(shù),控制表頭參數(shù)的第1個字是神經(jīng)網(wǎng)絡(luò)層數(shù),第2、3、4個字表示第一層神經(jīng)網(wǎng)絡(luò)模型的權(quán)值矩陣維度,第5、6、7個字是第一層池化的維度,第8個字是第一層池化偏置的維度,第9、10、11個字是第二層池化的維度,第12個字是第二層池化偏置的維度;以此類推,直到最后一層神經(jīng)網(wǎng)絡(luò);
該專利技術(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/202110647708.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





