本技術涉及數據處理,尤其涉及一種數據編譯處理方法、裝置、存儲介質、電子設備及芯片。
背景技術:
1、人工智能(artificial?intelligence,ai)編譯是使用ai編譯器將神經網絡模型編譯到目標異構計算平臺的目標指令集的過程。
2、目前,在編譯的過程中,由于異構計算平臺內存容量較小,需要將張量編譯計算隨機拆分成多個張量分別進行編譯計算,再將編譯完成的數據分別加載到異構平臺,根據指令信息執行相應的指令計算。
3、然而,使用這種隨機拆分計算的方式,在對每一個張量數據進行編譯的過程中,無法確保每一個張量數據編譯的輸出張量相同,導致每一個張量數據進行編譯都使用不同的指令,進而會生成大量不同的指令信息,造成用于保存指令信息的緩沖區內存不足,導致執行指令信息的發射效率低,甚至造成編譯失敗。
技術實現思路
1、有鑒于此,本技術提供了一種數據編譯處理方法、裝置、存儲介質、電子設備及芯片,主要目的在于改善目前現有技術無法確保每一個張量數據編譯的輸出張量相同,進而會生成大量不同的指令信息,造成用于保存指令信息的緩沖區內存不足的技術問題。
2、第一方面,本技術提供了一種數據編譯處理方法,包括:
3、獲取目標子圖通過神經網絡模型得到的第一張量數據和與所述第一張量數據對應的采樣類型信息;
4、將所述第一張量數據按照目標段落數進行切分處理,得到切分后的多個段落數據,其中,除首段落數據和末段落數據外,其他的各個中間段落數據分別對應的張量行數相同;
5、依據所述采樣類型信息,分別對所述多個段落數據進行反向編譯處理,得到所述多個段落數據分別對應的第二張量數據;
6、根據所述第二張量數據,生成與所述第二張量數據對應的指令信息,其中,張量行數相同的第二張量數據生成統一指令信息。
7、可選的,所述依據所述采樣類型信息,分別對所述多個段落數據進行反向編譯處理,得到所述多個段落數據分別對應的第二張量數據,包括:
8、依據所述采樣類型信息,分別對所述各個中間段落數據進行反向編譯處理,得到所述各個中間段落數據分別對應的第二張量數據;
9、基于所述各個中間段落數據分別對應的第二張量數據,得到所述首段落數據和所述末段落數據分別對應的第二張量數據。
10、可選的,所述依據所述采樣類型信息,分別對所述各個中間段落數據進行反向編譯處理,得到所述各個中間段落數據分別對應的第二張量數據,包括:
11、依據所述采樣類型信息中各個中間段落數據對應的采樣類型信息,確定所述各個中間段落數據對應的多個采樣類型和所述各個中間段落數據的采樣次數;
12、按照所述多個采樣類型的目標排列順序,從所述多個采樣類型中的首個采樣類型開始,對所述各個中間段落數據分別進行目標次數的反向編譯處理,得到所述各個中間段落數據分別對應的第二張量數據,其中,所述目標次數是根據所述采樣次數確定的。
13、可選的,所述按照所述多個采樣類型的目標排列順序,從所述多個采樣類型中的首個采樣類型開始,對所述各個中間段落數據分別進行目標次數的反向編譯處理,得到所述各個中間段落數據分別對應的第二張量數據,包括:
14、在每次反向編譯處理中,基于上一次反向編譯處理的中間段落數據對應的第二張量數據和當前反向編譯處理對應的采樣類型,進行反向編譯處理,得到當前反向編譯處理的中間段落數據對應的第二張量數據;
15、依據所述當前反向編譯處理的中間段落數據對應的第二張量數據進行下一次反向編譯處理,得到下一次反向編譯處理的中間段落數據對應的第二張量數據。
16、可選的,所述基于上一次反向編譯處理的中間段落數據對應的第二張量數據和當前反向編譯處理對應的采樣類型,進行反向編譯處理,得到當前反向編譯處理的中間段落數據對應的第二張量數據,包括:
17、分析所述上一次反向編譯處理的各個中間段落數據對應的第二張量數據,確定所述上一次反向編譯處理的補全數據和步幅數據;
18、基于上一次反向編譯處理的各個中間段落數據對應的第二張量數據、所述補全數據和所述步幅數據,進行反向編譯處理,得到當前反向編譯處理的各個中間段落數據。
19、可選的,所述基于上一次反向處理的中間段落數據對應的第二張量數據和當前反向編譯處理對應的采樣類型,進行反向編譯處理,得到當前反向編譯處理的中間段落數據對應的第二張量數據,包括:
20、若當前反向編譯處理對應的采樣類型為上采樣,則按照預設上采樣標準,對所述上一次反向編譯處理的中間段落數據對應的第二張量數據,進行反向編譯處理,得到當前反向編譯處理的中間段落數據對應的第二張量數據。
21、可選的,所述基于上一次反向處理的中間段落數據對應的第二張量數據和當前反向編譯處理對應的采樣類型,進行反向編譯處理,得到當前反向編譯處理的中間段落數據對應的第二張量數據,還包括:
22、若當前反向編譯處理對應的采樣類型為下采樣,則按照預設下采樣標準,對所述上一次反向編譯處理的中間段落數據對應的第二張量數據,進行反向編譯處理,得到當前反向編譯處理的中間段落數據對應的第二張量數據。
23、可選的,在所述基于所述各個中間段落數據分別對應的第二張量數據,得到所述首段落數據和所述末段落數據分別對應的第二張量數據之前,還包括:
24、獲取所述多個段落數據分別對應的第二張量數據的第一張量行數數據;
25、所述基于所述各個中間段落數據分別對應的第二張量數據,得到所述首段落數據和所述末段落數據分別對應的第二張量數據,包括:
26、確定所述各個中間段落數據分別對應的第二張量數據的第二張量行數數據;
27、對所述第一張量行數數據和所述第二張量行數數據進行處理,得到所述首段落數據對應的第三張量行數數據和所述末段落數據對應的第四張量行數數據;
28、依據所述第三張量行數數據和所述第四張量行數數據,得到所述首段落數據和所述末段落數據分別對應的第二張量數據。
29、可選的,所述對所述第一張量行數數據和所述第二張量行數數據進行處理,得到所述首段落數據對應的第三張量行數數據和所述末段落數據對應的第四張量行數數據,包括:
30、在每次反向編譯處理中,對所述第一張量行數數據和上一次反向編譯處理的中間段落數據對應的第二張量數據的張量行數數據進行處理,得到當前反向編譯處理首段落數據和末段落數據分別對應的張量行數數據;
31、依據所述當前反向編譯處理首段落數據和末段落數據分別對應的張量行數數據,得到下一次反向編譯處理的首段落數據和末段落數據。
32、可選的,在所述依據所述當前反向編譯處理首段落數據和末段落數據分別對應的張量行數數據,得到下一次反向編譯處理的首段落數據和末段落數據之后,還包括:
33、在每次反向編譯處理中,基于所述當前反向編譯處理首段落數據和所述下一次反向編譯處理的首段落數據,確定當前反向編譯對應的首段落采樣類型;
34、基于所述當前反向編譯處理末段落數據和所述下一次反向編譯處理的末段落數據,確定當前反向編譯對應的末段落采樣類型。
35、可選的,還包括:通過所述目標次數的反向編譯處理,基于每次反向編譯處理的首段落采樣類型,生成所述首段落數據對應的第二張量數據的采樣類型信息;
36、通過所述目標次數的反向編譯處理,基于每次反向編譯處理的末段落采樣類型,生成所述末段落數據對應的第二張量數據的采樣類型信息。
37、可選的,所述根據所述第二張量數據,生成與所述第二張量數據對應的指令信息,包括:
38、根據所述各個中間段落數據對應的第二張量數據的采樣類型信息,生成統一的第一指令信息,所述第一指令信息用于指令各個中間段落數據對應的第二張量數據進行后續指令計算;
39、根據所述首段落數據對應的第二張量數據的首段落采樣類型信息,生成第二指令信息,所述第二指令信息用于指令首段落數據對應的第二張量數據進行后續指令計算;
40、根據所述末段落數據對應的第二張量數據末段落采樣類型信息,生成第三指令信息,所述第三指令信息用于指令末段落數據對應的第二張量數據進行后續指令計算。
41、第二方面,本技術提供了一種數據編譯處理裝置,包括:
42、獲取模塊,被配置為獲取目標子圖通過神經網絡模型得到的第一張量數據和與所述第一張量數據對應的采樣類型信息;
43、切分模塊,被配置為將所述第一張量數據按照目標段落數進行切分處理,得到切分后的多個段落數據,其中,除首段落數據和末段落數據外,其他的各個中間段落數據分別對應的張量行數相同;
44、編譯模塊,被配置為依據所述采樣類型信息,分別對所述多個段落數據進行反向編譯處理,得到所述多個段落數據分別對應的第二張量數據;
45、生成模塊,被配置為根據所述第二張量數據,生成與所述第二張量數據對應的指令信息,其中,張量行數相同的第二張量數據生成統一指令信息。
46、第三方面,本技術提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現第一方面所述的數據編譯處理方法。
47、第四方面,本技術提供了一種電子設備,包括存儲介質、處理器及存儲在存儲介質上并可在處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現第一方面所述的數據編譯處理方法。
48、第五方面,本技術提供了一種芯片,包括一個或多個接口電路和一個或多個處理器;所述接口電路用于從電子設備的存儲器接收信號,并向所述處理器發送所述信號,所述信號包括存儲器中存儲的計算機指令;當所述處理器執行所述計算機指令時,使得所述電子設備執行第一方面所述的數據編譯處理方法。
49、借由上述技術方案,本技術提供的一種數據編譯處理方法、裝置、存儲介質、電子設備及芯片,具體首先獲取目標子圖通過神經網絡模型得到的第一張量數據和與所述第一張量數據對應的采樣類型信息;將所述第一張量數據按照目標段落數進行切分處理,得到切分后的多個段落數據,其中,除首段落數據和末段落數據外,其他的各個中間段落數據分別對應的張量行數相同;然后依據所述采樣類型信息,分別對所述多個段落數據進行反向編譯處理,得到所述多個段落數據分別對應的第二張量數據;再根據所述第二張量數據,生成與所述第二張量數據對應的指令信息,其中,張量行數相同的第二張量數據生成統一指令信息。與目前現有技術相比,由于在反向編譯處理的過程中存在數據的行數發生變化的情況,本技術可以通過不統一除去切分后的首段落數據對應的第二矩陣數據與末段落數據對應的第二矩陣數據,來確保中間段落數據對應的第二矩陣數據的數據行數相同,在生成指令時,中間段落數據對應的第二矩陣數據可以用同一個指令進行循環處理,不需要額外的指令來指示每個中間段落數據對應的第二矩陣數據,避免出現大量的指令信息導致程序阻塞,釋放了用于保存指令信息的緩沖區內存,保證數據編譯的正常進行,提高了后續指令計算的指令執行的效率,減少了資源的浪費。
50、上述說明僅是本技術技術方案的概述,為了能夠更清楚了解本技術的技術手段,而可依照說明書的內容予以實施,并且為了讓本技術的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本技術的具體實施方式。