本發(fā)明屬于邊緣計算設(shè)備領(lǐng)域,涉及一種嵌入式邊緣智能計算系統(tǒng)的推理加速方法、裝置、存儲介質(zhì)。
背景技術(shù):
1、目標(biāo)檢測算法是計算機(jī)視覺領(lǐng)域的核心任務(wù)之一,其主要研究目標(biāo)是實(shí)現(xiàn)在靜態(tài)圖像或動態(tài)視頻數(shù)據(jù)中對特定類別目標(biāo)的準(zhǔn)確識別與精確定位。yolo系列算法,作為單階段目標(biāo)檢測算法的典范,以其高效的檢測速度和準(zhǔn)確的識別能力,在學(xué)術(shù)界和工業(yè)界均獲得了廣泛的認(rèn)可和應(yīng)用。
2、在邊緣側(cè)設(shè)備上部署深度學(xué)習(xí)模型主要有兩種方式。一是將深度學(xué)習(xí)模型部署于遠(yuǎn)程的云端數(shù)據(jù)中心,移動設(shè)備將輸入數(shù)據(jù)傳輸至云端,云端完成推理任務(wù)后,再將結(jié)果回傳至移動設(shè)備。而數(shù)據(jù)傳輸?shù)皆贫藭?dǎo)致高延遲、往返延遲、安全和隱私問題,以及無法實(shí)時決策。二是將模型部署在邊緣側(cè),并在邊緣側(cè)進(jìn)行推理。且為滿足邊緣側(cè)目標(biāo)檢測系統(tǒng)對算力與實(shí)時性的要求,通常構(gòu)建一個cpu+npu的異構(gòu)智能計算系統(tǒng)來提供較高的算力。
3、然而,隨著深度學(xué)習(xí)技術(shù)的不斷演進(jìn),yolo模型的架構(gòu)也隨之變得更加復(fù)雜和精細(xì),模型參數(shù)的數(shù)量急劇增加。這一趨勢雖然為算法性能的提升提供了可能,但也對計算資源提出了更高的要求,同時模型部署難、算子不支持、推理速度慢無法滿足實(shí)時性要求的狀況仍然存在。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)的不足,本發(fā)明提出一種嵌入式邊緣智能計算系統(tǒng)的推理加速方法、嵌入式邊緣智能計算系統(tǒng)的推理加速裝置、存儲介質(zhì)。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明一方面提供一種嵌入式邊緣智能計算系統(tǒng)的推理加速方法,包含:
3、集成cpu與npu處理器,構(gòu)建邊緣計算的基礎(chǔ)異構(gòu)架構(gòu);
4、配置模型離線部署框架,該框架支持將訓(xùn)練后的yolo模型部署在npu處理器上;
5、對所述yolo模型的檢測層算子網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行邏輯重構(gòu);
6、對重構(gòu)后的yolo模型檢測層進(jìn)行算子編程與多核加速計算。
7、在一些實(shí)施例中,該模型離線部署框架配置有:
8、npu推理線程:用以將預(yù)處理后的圖像數(shù)據(jù)送入npu推理網(wǎng)絡(luò)進(jìn)行推理,其中npu推理網(wǎng)絡(luò)推理只進(jìn)行到y(tǒng)olo模型的檢測層之前的一層,得到npu推理結(jié)果。
9、在一些實(shí)施例中,對所述yolo模型的檢測層算子網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行邏輯重構(gòu),包含:
10、使用cpu推理網(wǎng)絡(luò)進(jìn)行yolo模型的檢測層算子的推理,執(zhí)行邊框預(yù)測與類別預(yù)測。
11、在一些實(shí)施例中,執(zhí)行邊框預(yù)測與類別預(yù)測之前,還包含:
12、將所述npu推理結(jié)果作為第一輸入數(shù)據(jù),將該第一輸入數(shù)據(jù)依據(jù)第一預(yù)設(shè)維度拆分為第一子數(shù)據(jù)與第二子數(shù)據(jù);
13、其中:所述第一子數(shù)據(jù)的維度大于所述第二子數(shù)據(jù)的維度,且所述第一子數(shù)據(jù)用于邊框預(yù)測,所述第二子數(shù)據(jù)用于類別預(yù)測。
14、在一些實(shí)施例中,所述邊框預(yù)測的過程包含:
15、將所述第一子數(shù)據(jù)進(jìn)行升維與轉(zhuǎn)置,得到第二數(shù)據(jù);
16、對該第二數(shù)據(jù)進(jìn)行softmax操作,得到第三數(shù)據(jù);
17、在該第三數(shù)據(jù)進(jìn)行卷積操作,得到最終的邊框預(yù)測結(jié)果。
18、在一些實(shí)施例中,在softmax操作之前,預(yù)先對該第二數(shù)據(jù)進(jìn)行降維,并對降維后的數(shù)據(jù)進(jìn)行轉(zhuǎn)置處理,得到第四數(shù)據(jù)。
19、在一些實(shí)施例中,所述類別預(yù)測的過程包含:
20、將所述第二子數(shù)據(jù)輸入基于sigmoid函數(shù)的預(yù)測模型,輸出最終的類別預(yù)測結(jié)果。
21、在一些實(shí)施例中,在單核及多核情況下,對重構(gòu)后的yolo模型檢測層進(jìn)行bangc算子編程與simd多核加速計算。
22、在一些實(shí)施例中,在單核情況下,使用collect掩碼收集器對該第四數(shù)據(jù)進(jìn)行重排,且對該第三數(shù)據(jù)進(jìn)行加法操作代替卷積操作。
23、在一些實(shí)施例中,在多核情況下,將該第四數(shù)據(jù)分解為多個分組數(shù)據(jù),分發(fā)給該多核中的每一核,每一核執(zhí)行:使用collect掩碼收集器對該核對應(yīng)的分組數(shù)據(jù)進(jìn)行重排,且使用加法操作代替卷積操作。
24、在一些實(shí)施例中,在多核情況下,利用核間共享內(nèi)存sram代替全局內(nèi)存gdram。
25、在一些實(shí)施例中,所述yolo模型采用yolov8。
26、本發(fā)明再一方面還提供一種嵌入式邊緣智能計算系統(tǒng)的推理加速裝置,包含:
27、框架配置模塊,用以集成cpu與npu處理器,構(gòu)建邊緣計算的基礎(chǔ)異構(gòu)架構(gòu);以及,配置模型離線部署框架,該框架支持將訓(xùn)練后的yolo模型部署在npu處理器上;
28、網(wǎng)絡(luò)優(yōu)化模塊,用以對所述yolo模型的檢測層算子網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行邏輯重構(gòu);
29、加速配置模塊,用以對重構(gòu)后的yolo模型檢測層進(jìn)行算子編程與多核加速計算。
30、本發(fā)明又一方面還提供一種計算機(jī)可讀存儲介質(zhì),存儲有計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述的嵌入式邊緣智能計算系統(tǒng)的推理加速方法的步驟。
31、由以上方案可知,本發(fā)明的優(yōu)點(diǎn)在于:
32、本發(fā)明揭示的嵌入式邊緣智能計算系統(tǒng)的推理加速方法,其集成cpu與npu處理器,構(gòu)建邊緣計算的基礎(chǔ)異構(gòu)架構(gòu)為基礎(chǔ),配置模型離線部署框架,該框架支持將訓(xùn)練后的yolo模型部署在npu處理器上。然后,對所述yolo模型的檢測層算子網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行邏輯重構(gòu),并對重構(gòu)后的yolo模型檢測層進(jìn)行算子編程與多核加速計算。該方法提高了算子速度,提高了系統(tǒng)推理速度。該方法實(shí)現(xiàn)了構(gòu)建滿足邊緣側(cè)部署應(yīng)用的高算力、強(qiáng)實(shí)時性的嵌入式智能計算系統(tǒng)。
1.一種嵌入式邊緣智能計算系統(tǒng)的推理加速方法,其特征在于,包含:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該模型離線部署框架配置有:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,對所述yolo模型的檢測層算子網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行邏輯重構(gòu),包含:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,執(zhí)行邊框預(yù)測與類別預(yù)測之前,還包含:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,
11.根據(jù)權(quán)利要求8所述的方法,其特征在于,
12.根據(jù)權(quán)利要求1所述的方法,其特征在于,
13.一種嵌入式邊緣智能計算系統(tǒng)的推理加速裝置,其特征在于,包含:
14.一種計算機(jī)可讀存儲介質(zhì),存儲有計算機(jī)程序,其特征在于,該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述權(quán)利要求1-12任一項(xiàng)所述的嵌入式邊緣智能計算系統(tǒng)的推理加速方法的步驟。