本發(fā)明涉及計算機應(yīng)用的,尤其是涉及一種推理模型的處理方法、裝置及電子設(shè)備。
背景技術(shù):
1、在當(dāng)前常見的推理模型框架中,其數(shù)據(jù)在內(nèi)存中的排布一般都使用一種方式,如mnn(mobile?neural?network)深度學(xué)習(xí)框架默認(rèn)使用nc4hw4排列方式,或者,ncnn(ncnnconvolutional?neural?network)深度學(xué)習(xí)框架默認(rèn)使用nchw排列方式等等,不同的排列方式針對不同的場景各有優(yōu)劣。
2、以卷積為例,nc4hw4的排列方式在通道數(shù)為simd(single?instruction?multipledata,單指令多數(shù)據(jù)流)并行數(shù)的倍數(shù)時(如4/8),能發(fā)揮出最優(yōu)性能,其計算性能一般高于相同計算量的nchw排列方式。但對于非simd并行數(shù)倍數(shù)的尺寸,如在simd并行數(shù)為4時,5,6,7,8通道尺寸的數(shù)據(jù)計算耗時一樣。此時nchw排列方式的im2col(image?to?column,從圖像到矩陣)等算法性能優(yōu)于nc4hw4排列方式計算。
3、由于常見的推理框架中,一般全局只選用一種內(nèi)存排列方式計算,沒有針對不同的node節(jié)點選用不同的內(nèi)存排列方式計算,難以使各個node節(jié)點的性能最優(yōu),降低了推理模型的使用效率。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明的目的在于提供一種推理模型的處理方法、裝置及電子設(shè)備,以緩解上述技術(shù)問題。
2、第一方面,本發(fā)明實施例提供了一種推理模型的處理方法,所述方法包括:獲取目標(biāo)推理模型,所述目標(biāo)推理模型為推理模型庫中預(yù)先構(gòu)建的推理模型,所述推理模型由多個操作節(jié)點連接組成,且,每個所述操作節(jié)點都配置有數(shù)據(jù)存儲節(jié)點,所述操作節(jié)點輸出的數(shù)據(jù)按照預(yù)設(shè)的數(shù)據(jù)格式存儲在所述數(shù)據(jù)存儲節(jié)點中;提取目標(biāo)推理模型中各個所述操作節(jié)點的通道信息;判斷所述操作節(jié)點當(dāng)前輸入數(shù)據(jù)的數(shù)據(jù)格式與所述通道信息是否匹配;如果否,獲取預(yù)先配置的轉(zhuǎn)換節(jié)點;將所述轉(zhuǎn)換節(jié)點添加到所述操作節(jié)點的輸入端,以對所述操作節(jié)點的輸入數(shù)據(jù)進行格式轉(zhuǎn)換。
3、結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第一種可能的實施方式,其中,上述判斷所述操作節(jié)點當(dāng)前輸入數(shù)據(jù)的數(shù)據(jù)格式與所述通道信息是否匹配的步驟,包括:判斷所述操作節(jié)點的通道信息是否支持所述操作節(jié)點當(dāng)前輸入數(shù)據(jù)的數(shù)據(jù)格式的計算方式;如果是,確定所述操作節(jié)點當(dāng)前輸入數(shù)據(jù)的數(shù)據(jù)格式與所述通道信息匹配;如果否,確定所述操作節(jié)點當(dāng)前輸入數(shù)據(jù)的數(shù)據(jù)格式與所述通道信息不匹配。
4、結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第二種可能的實施方式,其中,上述推理模型為音頻流式推理模型;所述音頻流式推理模型還設(shè)置有數(shù)據(jù)緩存節(jié)點,所述數(shù)據(jù)緩存節(jié)點用于緩存當(dāng)前操作周期的音頻幀數(shù)據(jù),并作為下一操作周期的輸入數(shù)據(jù)。
5、結(jié)合第一方面的第二種可能的實施方式,本發(fā)明實施例提供了第一方面的第三種可能的實施方式,其中,上述方法還包括:提取與所述數(shù)據(jù)緩存節(jié)點連接的目標(biāo)操作節(jié)點的通道信息;其中,所述目標(biāo)操作節(jié)點為組成所述目標(biāo)推理模型中的至少一個操作節(jié)點;判斷所述數(shù)據(jù)緩存節(jié)點中的數(shù)據(jù)格式與所述目標(biāo)操作節(jié)點的通道信息是否匹配;如果否,在所述數(shù)據(jù)緩存節(jié)點的輸出端添加預(yù)先配置的第一數(shù)據(jù)拆分節(jié)點,通過所述第一數(shù)據(jù)拆分節(jié)點將所述數(shù)據(jù)緩存節(jié)點中緩存的數(shù)據(jù)拆分,并將拆分之后的數(shù)據(jù)的數(shù)據(jù)格式轉(zhuǎn)換成與所述目標(biāo)操作節(jié)點的通道信息匹配的數(shù)據(jù)格式。
6、結(jié)合第一方面的第三種可能的實施方式,本發(fā)明實施例提供了第一方面的第四種可能的實施方式,其中,上述方法還包括:如果所述數(shù)據(jù)緩存節(jié)點中的數(shù)據(jù)格式與所述目標(biāo)操作節(jié)點的通道信息匹配,則在所述數(shù)據(jù)緩存節(jié)點的輸出端添加預(yù)先配置的第二數(shù)據(jù)拆分節(jié)點,通過所述第二數(shù)據(jù)拆分節(jié)點將所述數(shù)據(jù)緩存節(jié)點中緩存的數(shù)據(jù)拆分。
7、結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第五種可能的實施方式,其中,上述方法還包括:在所述數(shù)據(jù)存儲節(jié)點的輸出端添加所述轉(zhuǎn)換節(jié)點,通過所述轉(zhuǎn)換節(jié)點將所述數(shù)據(jù)存儲節(jié)點中存儲的數(shù)據(jù)的數(shù)據(jù)格式轉(zhuǎn)換成預(yù)設(shè)的數(shù)據(jù)格式。
8、結(jié)合第一方面的第三種可能的實施方式,本發(fā)明實施例提供了第一方面的第六種可能的實施方式,其中,上述方法還包括:將添加節(jié)點之后的目標(biāo)推理模型確定為更新后的推理模型;將所述更新后的推理模型部署到嵌入式設(shè)備,以通過所述嵌入式設(shè)備使用所述更新后的推理模型進行推理運算。
9、第二方面,本發(fā)明實施例還提供一種推理模型的處理裝置,所述裝置包括:獲取模塊,用于獲取目標(biāo)推理模型,所述目標(biāo)推理模型為推理模型庫中預(yù)先構(gòu)建的推理模型,所述推理模型由多個操作節(jié)點連接組成,且,每個所述操作節(jié)點都配置有數(shù)據(jù)存儲節(jié)點,所述操作節(jié)點輸出的數(shù)據(jù)按照預(yù)設(shè)的數(shù)據(jù)格式存儲在所述數(shù)據(jù)存儲節(jié)點中;提取模塊,用于提取目標(biāo)推理模型中各個所述操作節(jié)點的通道信息;判斷模塊,用于判斷所述操作節(jié)點當(dāng)前輸入數(shù)據(jù)的數(shù)據(jù)格式與所述通道信息是否匹配;添加模塊,用于所述判斷模塊的判斷結(jié)果為否時,獲取預(yù)先配置的轉(zhuǎn)換節(jié)點;將所述轉(zhuǎn)換節(jié)點添加到所述操作節(jié)點的輸入端,以對所述操作節(jié)點的輸入數(shù)據(jù)進行格式轉(zhuǎn)換。
10、第三方面,本發(fā)明實施例還提供一種電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述第一方面所述的方法的步驟。
11、第四方面,本發(fā)明實施例還提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器運行時執(zhí)行上述第一方面所述的方法的步驟。
12、本發(fā)明實施例帶來了以下有益效果:
13、本發(fā)明實施例提供的推理模型的處理方法、裝置及電子設(shè)備,能夠獲取到目標(biāo)推理模型,并提取目標(biāo)推理模型中各個操作節(jié)點的通道信息;判斷操作節(jié)點當(dāng)前輸入數(shù)據(jù)的數(shù)據(jù)格式與通道信息是否匹配,如果否,則獲取預(yù)先配置的轉(zhuǎn)換節(jié)點,將轉(zhuǎn)換節(jié)點添加到操作節(jié)點的輸入端,以對操作節(jié)點的輸入數(shù)據(jù)進行格式轉(zhuǎn)換,進而使輸入到操作節(jié)點的數(shù)據(jù)與操作節(jié)點的性能更加匹配,不僅可以降低操作節(jié)點的計算耗時,也可以提升操作節(jié)點的性能,進而提升整個目標(biāo)推理模型的效率。
14、本發(fā)明的其他特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
15、為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
1.一種推理模型的處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,判斷所述操作節(jié)點當(dāng)前輸入數(shù)據(jù)的數(shù)據(jù)格式與所述通道信息是否匹配的步驟,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述推理模型為音頻流式推理模型;
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
8.一種推理模型的處理裝置,其特征在于,所述裝置包括:
9.一種電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述權(quán)利要求1-7任一項所述的方法的步驟。
10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器運行時執(zhí)行上述權(quán)利要求1-7任一項所述的方法的步驟。