欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

神經(jīng)網(wǎng)絡(luò)的算子消除方法、系統(tǒng)、電子設(shè)備和存儲介質(zhì)與流程

文檔序號:40528370發(fā)布日期:2024-12-31 13:39閱讀:7來源:國知局
神經(jīng)網(wǎng)絡(luò)的算子消除方法、系統(tǒng)、電子設(shè)備和存儲介質(zhì)與流程

本發(fā)明涉及深度學(xué)習(xí)的,具體而言,涉及一種神經(jīng)網(wǎng)絡(luò)的算子消除方法、系統(tǒng)、電子設(shè)備和存儲介質(zhì)。


背景技術(shù):

1、神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中的算子是構(gòu)成神經(jīng)網(wǎng)絡(luò)的基本計算單元,算子負(fù)責(zé)對輸入數(shù)據(jù)進行各種數(shù)學(xué)運算和處理。而隨著神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的快速發(fā)展,大量的算子計算操作會使得神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,也會增加內(nèi)存、片上系統(tǒng)的緩存讀寫需求。因此,可以通過對非必要的算子進行算子消除,實現(xiàn)對神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中的計算量、內(nèi)存和緩存等進行優(yōu)化。

2、目前一般可以基于修改算子的shape信息(算子的維度或大小信息)來消除重塑算子(如reshape/transpose/split等算子),或者也可以通過特殊的數(shù)據(jù)搬移邏輯來消除內(nèi)存拼接算子(如concat算子),以降低算法的復(fù)雜度,進而可以減算子配置、調(diào)度和在內(nèi)存緩存上的交互時間,從而加速了運行推理時間。

3、但發(fā)明人發(fā)現(xiàn),基于復(fù)雜的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),目前的算子消除方法無法根據(jù)硬件的特性進行深度的算子優(yōu)化。例如,目前的算子消除方法無法結(jié)合模型圖結(jié)構(gòu)最佳內(nèi)存分配方法(best?filt)進行算子消除,從而無法實現(xiàn)運行推理時間的深度加速。


技術(shù)實現(xiàn)思路

1、本發(fā)明提供了一種神經(jīng)網(wǎng)絡(luò)的算子消除方法、系統(tǒng)、電子設(shè)備和存儲介質(zhì),用于解決目前的算子消除方法無法根據(jù)硬件的特性進行深度的算子優(yōu)化的問題。

2、根據(jù)本發(fā)明的一方面,本發(fā)明提供了一種神經(jīng)網(wǎng)絡(luò)的算子消除方法,包括:在神經(jīng)網(wǎng)絡(luò)模型中確定出存在算子消除需求的目標(biāo)子圖結(jié)構(gòu);將目標(biāo)子圖結(jié)構(gòu)中的可消除狀態(tài)的算子確定為目標(biāo)消除算子;遍歷所有的子圖結(jié)構(gòu),直至確定出所有存在算子消除需求的目標(biāo)子圖結(jié)構(gòu)及對應(yīng)的目標(biāo)消除算子;在目標(biāo)消除算子的所有輸入之前,計算目標(biāo)消除算子的輸入和輸出的緩沖區(qū)內(nèi)存總和;根據(jù)緩沖區(qū)內(nèi)存總和確定目標(biāo)消除算子的目標(biāo)緩存區(qū),以將目標(biāo)消除算子分配至目標(biāo)緩存區(qū),目標(biāo)緩存區(qū)至少包括片上緩存區(qū)或全局內(nèi)存緩存區(qū);將所有的目標(biāo)消除算子的輸出配置同一緩存地址;確定目標(biāo)消除算子的跳躍偏移量;基于跳躍偏移量對目標(biāo)消除算子進行編譯,以完成算子消除。

3、根據(jù)本發(fā)明的一些實施例,在目標(biāo)消除算子的所有輸入之前,計算目標(biāo)消除算子的輸入和輸出的緩沖區(qū)內(nèi)存總和包括:基于預(yù)設(shè)規(guī)則對所有的目標(biāo)消除算子進行排序;依次計算每一目標(biāo)消除算子的輸入和輸出的緩沖區(qū)內(nèi)存總和;其中,在目標(biāo)消除算子的輸入和輸出共用同一緩沖區(qū)的情況下,對目標(biāo)消除算子的輸入和輸出僅計算一次。

4、根據(jù)本發(fā)明的一些實施例,根據(jù)緩沖區(qū)內(nèi)存總和確定目標(biāo)消除算子的目標(biāo)緩存區(qū),以將目標(biāo)消除算子分配至目標(biāo)緩存區(qū)包括:判斷緩沖區(qū)內(nèi)存總和與片上緩存區(qū)的內(nèi)存的大?。辉诰彌_區(qū)內(nèi)存總和小于片上緩存區(qū)的內(nèi)存的大小的情況下,將目標(biāo)消除算子分配至片上緩存區(qū);在緩沖區(qū)內(nèi)存總和不小于片上緩存區(qū)的內(nèi)存的大小的情況下,將目標(biāo)消除算子分配至全局內(nèi)存緩存區(qū)。

5、根據(jù)本發(fā)明的一些實施例,目標(biāo)子圖結(jié)構(gòu)為網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)子圖。

6、根據(jù)本發(fā)明的另一方面,本發(fā)明提供了一種神經(jīng)網(wǎng)絡(luò)的算子消除系統(tǒng),該算子消除系統(tǒng)包括算子處理模塊、內(nèi)存處理模塊和算子消除模塊。算子處理模塊在神經(jīng)網(wǎng)絡(luò)模型中確定出存在算子消除需求的目標(biāo)子圖結(jié)構(gòu),將目標(biāo)子圖結(jié)構(gòu)中的可消除狀態(tài)的算子確定為目標(biāo)消除算子,以及遍歷所有的子圖結(jié)構(gòu),直至確定出所有存在算子消除需求的目標(biāo)子圖結(jié)構(gòu)及對應(yīng)的目標(biāo)消除算子。內(nèi)存處理模塊在目標(biāo)消除算子的所有輸入之前,計算目標(biāo)消除算子的輸入和輸出的緩沖區(qū)內(nèi)存總和;根據(jù)緩沖區(qū)內(nèi)存總和確定目標(biāo)消除算子的目標(biāo)緩存區(qū),以將目標(biāo)消除算子分配至目標(biāo)緩存區(qū),目標(biāo)緩存區(qū)至少包括片上緩存區(qū)或全局內(nèi)存緩存區(qū);以及將所有的目標(biāo)消除算子的輸出配置同一緩存地址。算子消除模塊確定目標(biāo)消除算子的跳躍偏移量;基于跳躍偏移量對目標(biāo)消除算子進行編譯,以完成算子消除。

7、根據(jù)本發(fā)明的一些實施例,內(nèi)存處理模塊基于預(yù)設(shè)規(guī)則對所有的目標(biāo)消除算子進行排序;內(nèi)存處理模塊依次計算每一目標(biāo)消除算子的輸入和輸出的緩沖區(qū)內(nèi)存總和;其中,在目標(biāo)消除算子的輸入和輸出共用同一緩沖區(qū)的情況下,內(nèi)存處理模塊對目標(biāo)消除算子的輸入和輸出僅計算一次。

8、根據(jù)本發(fā)明的一些實施例,內(nèi)存處理模塊判斷緩沖區(qū)內(nèi)存總和與片上緩存區(qū)的內(nèi)存的大?。粌?nèi)存處理模塊在緩沖區(qū)內(nèi)存總和小于片上緩存區(qū)的內(nèi)存的大小的情況下,將目標(biāo)消除算子分配至片上緩存區(qū);內(nèi)存處理模塊在緩沖區(qū)內(nèi)存總和不小于片上緩存區(qū)的內(nèi)存的大小的情況下,將目標(biāo)消除算子分配至全局內(nèi)存緩存區(qū)。

9、根據(jù)本發(fā)明的一些實施例,目標(biāo)子圖結(jié)構(gòu)為網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)子圖。

10、根據(jù)本發(fā)明的又一方面,本發(fā)明還提供了一種電子設(shè)備。電子設(shè)備包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當(dāng)一個或多個程序被一個或多個處理器執(zhí)行時,使得一個或多個處理器,能夠?qū)崿F(xiàn)如上文所述的算子消除方法。

11、根據(jù)本發(fā)明的又一方面,本發(fā)明還提供了一種非易失性計算機可讀存儲介質(zhì)。該存儲介質(zhì)上存儲有計算機程序,該計算機程序被處理器執(zhí)行時能夠?qū)崿F(xiàn)如上文所述的算子消除方法。

12、本發(fā)明提供的算子消除方法通過確定出目標(biāo)消除算子,通過計算目標(biāo)消除算子的輸入和輸出的緩沖區(qū)內(nèi)存總和,可以結(jié)合最佳內(nèi)存分配方法將該目標(biāo)消除算子優(yōu)先分配至片上緩存區(qū),并通過將目標(biāo)消除算子的輸出配置為同一緩存地址,基于跳躍偏移量進行算子的編譯,從而可以實現(xiàn)算子消除。

13、本發(fā)明提供的算子消除方法具有結(jié)合最佳內(nèi)存分配方法進行內(nèi)存分配的特點,可以優(yōu)先將該網(wǎng)絡(luò)結(jié)構(gòu)在片上緩存區(qū)執(zhí)行。以及該算子消除方法可以實現(xiàn)非必要算子的算子消除,可以使得網(wǎng)絡(luò)結(jié)構(gòu)更加清晰簡單,并且可以明顯減少神經(jīng)網(wǎng)絡(luò)模型的推理時間。



技術(shù)特征:

1.一種神經(jīng)網(wǎng)絡(luò)的算子消除方法,其特征在于,包括:

2.根據(jù)權(quán)利要求1所述的算子消除方法,其特征在于,所述在所述目標(biāo)消除算子的所有輸入之前,計算所述目標(biāo)消除算子的輸入和輸出的緩沖區(qū)內(nèi)存總和包括:

3.根據(jù)權(quán)利要求1所述的算子消除方法,其特征在于,所述根據(jù)所述緩沖區(qū)內(nèi)存總和確定所述目標(biāo)消除算子的目標(biāo)緩存區(qū),以將所述目標(biāo)消除算子分配至所述目標(biāo)緩存區(qū)包括:

4.根據(jù)權(quán)利要求1所述的算子消除方法,其特征在于,所述目標(biāo)子圖結(jié)構(gòu)為網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)子圖。

5.一種神經(jīng)網(wǎng)絡(luò)的算子消除系統(tǒng),其特征在于,包括:

6.根據(jù)權(quán)利要求5所述的算子消除系統(tǒng),其特征在于,所述內(nèi)存處理模塊基于預(yù)設(shè)規(guī)則對所有的目標(biāo)消除算子進行排序;

7.根據(jù)權(quán)利要求5所述的算子消除系統(tǒng),其特征在于,所述內(nèi)存處理模塊判斷所述緩沖區(qū)內(nèi)存總和與所述片上緩存區(qū)的內(nèi)存的大小;

8.根據(jù)權(quán)利要求5所述的算子消除系統(tǒng),其特征在于,所述目標(biāo)子圖結(jié)構(gòu)為網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)子圖。

9.一種電子設(shè)備,其特征在于,包括:

10.一種非易失性計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-4任一所述的算子消除方法。


技術(shù)總結(jié)
本發(fā)明提供了一種神經(jīng)網(wǎng)絡(luò)的算子消除方法、系統(tǒng)、電子設(shè)備和存儲介質(zhì),涉及深度學(xué)習(xí)的技術(shù)領(lǐng)域。包括:在神經(jīng)網(wǎng)絡(luò)模型中確定出存在算子消除需求的目標(biāo)子圖結(jié)構(gòu);將目標(biāo)子圖結(jié)構(gòu)中的可消除狀態(tài)的算子確定為目標(biāo)消除算子;遍歷所有的子圖結(jié)構(gòu),直至確定出所有存在算子消除需求的目標(biāo)子圖結(jié)構(gòu)及對應(yīng)的目標(biāo)消除算子;計算目標(biāo)消除算子的輸入和輸出的緩沖區(qū)內(nèi)存總和;根據(jù)緩沖區(qū)內(nèi)存總和確定目標(biāo)消除算子的目標(biāo)緩存區(qū),以將目標(biāo)消除算子分配至目標(biāo)緩存區(qū),將所有的目標(biāo)消除算子的輸出配置同一緩存地址;確定目標(biāo)消除算子的跳躍偏移量;基于跳躍偏移量對目標(biāo)消除算子進行編譯,以完成算子消除。本發(fā)明可以實現(xiàn)算子消除,可以減少神經(jīng)網(wǎng)絡(luò)的推理時間。

技術(shù)研發(fā)人員:陸永健,蔡權(quán)雄,牛昕宇
受保護的技術(shù)使用者:深圳鯤云信息科技有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/30
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
仁怀市| 定州市| 八宿县| 崇信县| 盐亭县| 石台县| 儋州市| 郸城县| 常德市| 象山县| 迁西县| 托克托县| 报价| 普宁市| 上犹县| 泰宁县| 黄大仙区| 靖边县| 南雄市| 江西省| 通河县| 盐城市| 永济市| 沙河市| 武邑县| 武城县| 凤山市| 上饶市| 荣昌县| 灵武市| 临泉县| 团风县| 永城市| 常熟市| 吉林市| 鹤庆县| 五莲县| 巧家县| 宿迁市| 汾西县| 江孜县|