TWI766777B - 神經網路劃分的方法、電子設備及存儲介質 - Google Patents
神經網路劃分的方法、電子設備及存儲介質 Download PDFInfo
- Publication number
- TWI766777B TWI766777B TW110127609A TW110127609A TWI766777B TW I766777 B TWI766777 B TW I766777B TW 110127609 A TW110127609 A TW 110127609A TW 110127609 A TW110127609 A TW 110127609A TW I766777 B TWI766777 B TW I766777B
- Authority
- TW
- Taiwan
- Prior art keywords
- neural network
- operands
- operand
- type
- output
- Prior art date
Links
Images
Landscapes
- Image Analysis (AREA)
- Feedback Control In General (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一種神經網路劃分的方法、電子設備及存儲介質,所述方法包括:獲取神經網路模型,其中,所述神經網路模型包括n個運算元;掃描所述神經網路模型中的所有運算元子組;劃分所述神經網路模型為m個區域;重新掃描所述神經網路模型中的所有運算元子組,識別被破壞的運算元子組;分析所述被破壞的運算元子組中每個運算元的輸入及輸出,識別特定類別的運算元;及調整特定類別的運算元,以調整劃分的區域。
Description
本發明涉及電子通訊技術領域,尤其涉及一種神經網路劃分的方法、電子設備及存儲介質。
在現代電子通訊技術中,越來越多的設備需要對於真實世界的即時輸入進行越來越複雜的處理,如工業機器人、自動駕駛無人汽車以及移動通訊設備等等。這些任務大多數偏向於機器學習領域,其中大部分運算為向量運算或者矩陣運算,具有極高的並行度。在常見的神經網路演算法中,可對神經網路模型劃分多個區域,多個區域並行。然而,在多個區域的某些區域中可能存在同一路徑被劃分到兩個或兩個以上的區域的情況,這使得同一路徑下的兩個或兩個以上的區域在進行資料傳輸或合併時可能會產生資料丟失的情況。
有鑑於此,有必要提供一種神經網路劃分的方法、電子設備及電腦可讀存儲介質。
本申請提供一種神經網路劃分的方法,所述方法包括:獲取神經網路模型,其中,所述神經網路模型包括n個運算元;掃描所述神經網路模型中的所有運算元子組;劃分所述神經網路模型為m個區域;
重新掃描所述神經網路模型中的所有運算元子組,識別被破壞的運算元子組;分析所述被破壞的運算元子組中每個運算元的輸入及輸出,識別特定類別的運算元;以及調整特定類別的運算元,以調整劃分的區域。
在一種可能的實現方式中,所述分析所述被破壞的運算元子組中每個運算元的輸入及輸出,識別特定類別的運算元包括:識別輸入與輸出不一致的第一類運算元;以及統計所述第一類運算元輸入對應的第二類運算元。
在一種可能的實現方式中,所述識別輸入與輸出不一致的第一類運算元包括:分析所述被破壞的運算元子組中每個運算元的輸入及輸出,識別輸入與輸出位於不同所述區域的運算元,並統計這些運算元為第一類運算元。
在一種可能的實現方式中,所述統計所述第一類運算元輸入對應的第二類運算元包括:分析所述第一類運算元中每個運算元的輸入對應的運算元,並統計這類運算元為第二類運算元。
在一種可能的實現方式中,所述調整特定類別的運算元,以調整劃分的區域包括:將所述第二類運算元的輸出調整至與所述第一類運算元的輸出對應的區域,以調整劃分的區域。
在一種可能的實現方式中,每個所述運算元包括一個或多個輸入以及一個或多個輸出,相鄰的運算元,前一運算元的輸出作為後一運算元的輸
入,一個運算元的輸出作為一個或多個運算元的輸入,一個的運算元的輸入來自一個或多個運算元的輸出。
在一種可能的實現方式中,所述掃描所述神經網路模型中的所有運算元子組包括:劃分所述神經網路模型中的n個運算元為m個區域,m為二或二以上的整數,每個所述區域中包括數量相當的所述運算元。
在一種可能的實現方式中,所述重新掃描所述神經網路模型中的所有運算元子組,識別被破壞的運算元子組包括:重新掃描所述神經網路模型中的所有運算元子組,識別位於一個以上的所述區域的運算元子組為被破壞的運算元子組。
本申請還提供一種電子設備,所述電子設備包括處理器和記憶體,所述處理器用於執行所述記憶體中存儲的電腦程式時實現所述的神經網路劃分的方法。
本申請還提供一種電腦可讀存儲介質,所述電腦可讀存儲介質上存儲有電腦程式,所述電腦程式被處理器執行時實現所述的神經網路劃分的方法。
相對於現有技術,本申請實施方式提供的神經網路劃分的方法、電子設備及電腦可讀存儲介質,能使劃分的m個區域中同一路徑的運算元之間進行資料傳輸或合併得到更好的匹配,確保資料安全。
S1~S7:步驟
100:神經網路模型
Op1~Op15:運算元
110:第一運算元子組
120:第二運算元子組
130:第三運算元子組
T1:第一區域
T2:第二區域
4:電子設備
41:記憶體
42:處理器
43:電腦程式
圖1是本申請公開的一種神經網路劃分的方法的較佳實施例的流程圖。
圖2是本申請公開的一種示例性神經網路模型的示意圖。
圖3是本申請公開的一種示例性被劃分區域的神經網路模型的示意圖。
圖4是本申請公開的實現神經網路劃分的方法的較佳實施例的電子設備的結構示意圖。
為了使本申請的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本申請進行詳細描述。
如圖1所示,是本申請神經網路劃分的方法的較佳實施例的流程圖。根據不同的需求,該流程圖中步驟的順序可以改變,某些步驟可以省略。
所述神經網路劃分的方法應用於一個或者多個電子設備4(請參圖4)中,所述電子設備4是一種能夠按照事先設定或存儲的指令,自動進行數值計算和/或資訊處理的設備,其硬體包括但不限於微處理器、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式設計閘陣列(Field-Programmable Gate Array,FPGA)、數位訊號處理器(Digital Signal Processor,DSP)、嵌入式設備等。
所述電子設備4可以是任何一種可與用戶進行人機交互的電子產品,例如,個人電腦、平板電腦、智慧手機、個人數位助理(Personal Digital Assistant,PDA)、遊戲機、互動式網路電視(Internet Protocol Television,IPTV)、智慧式穿戴式設備等。
所述電子設備4還可以包括網路設備和/或使用者設備。其中,所述網路設備包括,但不限於單個網路服務器、多個網路服務器組成的伺服器組或基於雲計算(Cloud Computing)的由大量主機或網路服務器構成的雲。
所述電子設備4所處的網路包括但不限於互聯網、廣域網路、都會區網路、局域網、虛擬私人網路(Virtual Private Network,VPN)等。
需要說明的是,所述電子設備4集成的模組/單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個電腦可讀取存儲介質中。基於這樣的理解,本申請實現上述實施例方法中的全部或部分流程,也可以通過電腦程式來指令相關的硬體來完成,所述的電腦程式可存儲於一電腦可讀存儲介質中,該電腦程式在被處理器執行時,可實現上述各個方法
實施例的步驟。其中,所述電腦程式代碼可以為原始程式碼形式、物件代碼形式、可執行檔或某些中間形式等。所述電腦可讀介質可以包括:能夠攜帶所述電腦程式代碼的任何實體或裝置、記錄介質、隨身碟、移動硬碟、磁碟、光碟、電腦記憶體、唯讀記憶體(Read-Only Memory,ROM)。
示例性的,圖4所示電子設備4包括記憶體41及處理器42。所述記憶體41儲存有電腦程式43。所述處理器41通過運行或執行存儲在記憶體42內的電腦程式43,以及調用存儲在記憶體42內的資料,使得所述處理器42實現由所述電子設備4執行的神經網路劃分的方法,並控制所述記憶體41及所述電子裝置4的各個部分。所述處理器42可以利用各種介面和匯流排連接所述記憶體41及所述電子裝置4的各個部分。
S1、獲取神經網路模型,其中,所述神經網路模型包括n個運算元。
在本實施方式中,所述神經網路模型可以為直接從網路端獲取到的神經網路模型,也可以為從所述網路端獲取到的神經網路模型進行優化以後的神經網路模型。對神經網路模型進行優化可以理解為對所述神經網路模型進行運算元融合,網路剪枝,模型量化,網路切割等操作。
在本實施方式中,所述神經網路模型包括n個運算元,分別為Op1,Op2,……,Opn。其中,每個運算元包括一個或多個輸入以及一個或多個輸出。相鄰的運算元,前一運算元的輸出可作為後一運算元的輸入。一個運算元的輸出可作為一個或多個運算元的輸入,一個的運算元的輸入可來自一個或多個運算元的輸出。
S2、掃描所述神經網路模型中的所有運算元子組。
在本實施方式中,所述神經網路模型包括多個運算元子組,每個運算元子組包括多個相連接的運算元。在本實施方式中,可通過有向非循環圖表(Directed Acyclic Graph,DAG)、深度優先搜索(Depth First Search,DFS)和/或橫向優先搜索(Breadth First Search,BFS)等演算法掃描所述神經網路模型中的所有運算元子組。
示例性的,圖2所示神經網路模型100包括15個運算元,分別為Op1,Op2,……,Op15。通過掃描所述神經網路模型100,得出3個運算元子組,即第一運算元子組110,第二運算元子組120以及第三運算元子組130。
本實施方式中,可將一個運算元子組標識為Lx(f,e),其中,Lx為級數,f為所述運算元子組的起始運算元,e為所述運算元子組的終止運算元。掃描所述神經網路模型100得出所述3個運算元子組分別標識為L1(Op1,Op3),L1(Op4,Op15),L2(Op12,Op14)。
S3,劃分所述神經網路模型為m個區域。
在本實施方式中,劃分所述神經網路模型中的多個運算元為m個區域,m為二或二以上的整數,使得每個區域中包括數量相當的所述運算元。
示例性的,圖3所示劃分所述神經網路模型100為2個區域,即第一區域T1和第二區域T2。其中,所述運算元Op1,Op2,……,Op7位於所述第一區域T1,所述運算元Op8,Op9,……,Op15位於所述第二區域T2。所述第一區域T1和所述第二區域T2包括數量相當的所述運算元。
S4、重新掃描所述神經網路模型中的所有運算元子組,識別被破壞的運算元子組。
在本實施方式中,重新掃描所述神經網路模型中的所有運算元子組,識別是否有運算元子組位於一個以上的區域。也即當一個運算元子組中既有部分運算元位於一個劃分的所述區域,也有另外部分運算元位於另一劃分的所述區域。在本實施方式中,所述神經網路模型可同時被多個處理器執行。
示例性的,圖3所示所述神經網路模型100的三個運算元子組中,所述第一運算元子組110位於所述第一區域T1,即所述第一運算元子組110中所有運算元Op1,Op2,Op3均位於所述第一區域T1;所述第三運算元子組130位於所述第二區域T2,即所述第三運算元子組130中所有運算元Op12,Op13,Op14均位於所述第二區域T2;所述第二運算元子組120位於所述第一區域T1以及所述第二區域T2,即所述第二運算元子組120中部分運算元,例如Op4,Op5,……位於所述第一區域T1,還有部分運算元,例如Op9,Op10,……位於所述第二區域T2。因此,所述第二運算元子組120被識別為被破壞的運算元子組。
在本實施方式中,所述神經網路模型100同時被兩個處理器執行,其中所述第一區域T1和所述第二區域T2分別被一個處理器執行。此外,每一處理器執行對應的區域的執行時間相同,以降低等待時間,從而達到負載平衡。
S5、分析所述被破壞的運算元子組中每個運算元的輸入及輸出,識別輸入與輸出不一致的第一類運算元。
在本實施方式中,分析所述被破壞的運算元子組中每個運算元的輸入及輸出,識別輸入與輸出位於不同所述區域的運算元。也即,當所述被破壞的運算元子組中的一個運算元的輸出於一個劃分的所述區域,而輸入來自另一個劃分的所述區域,統計這類的運算元為第一類運算元。
示例性的,圖3所示所述神經網路模型100的被識別為被破壞的運算元子組的所述第二運算元子組120中,分析每個運算元Op4,Op6,……的輸入及輸出。具體地,運算元Op4的輸出於所述第一區域T1;運算元Op6的輸出於所述第一區域T1;運算元Op7的輸出於所述第一區域T1;運算元Op8的輸入於所述第一區域T1,輸出於所述第二區域T2;運算元Op9的輸入於所述第一區域T1,輸出於所述第二區域T2;運算元Op11的輸入於所述第一區域T1,輸出於所述第二區域T2;運算元Op15的輸入於所述第一區域T1,輸出於所述第二區域T2。對於其他輸入與輸出明顯在同一區域內的運算元,在此不再一一羅列。由此可得,所述運算元Op8,Op9,Op11,Op15的輸入的區域與輸出的區域不一致。也即,所述運算元Op8,Op9,Op11,Op15的輸入來自另一區域。由此,統計所述運算元Op8,Op9,Op11,Op15為第一類運算元。
S6、統計所述第一類運算元輸入對應的第二類運算元。
在本實施方式中,分析所述第一類運算元中每個運算元的輸入對應的運算元,並統計這類運算元為第二類運算元。
示例性的,圖3所示所述第一類運算元中,運算元Op8的輸入來自運算元Op7的輸出;運算元Op9和Op11的輸入來自運算元Op4的輸出;運算元Op15的輸入來自運算元Op6的輸出。由此,統計所述運算元Op4,Op6,Op7為第二類運算元。
S7、調整劃分的區域。
在本實施方式中,將所述第二類運算元的輸出調整至與所述第一類運算元的輸出對應的區域,以此調整劃分的區域。
示例性的,圖3所示所述第二類運算元Op4,Op6,Op7的輸出調整至與所述第一類運算元Op8,Op9,Op11,Op15的輸出對應的區域,也即所述第二區域T2,以此調整劃分的第一區域T1與第二區域T2。
由此,調整後的兩個區域中同一路徑的運算元之間進行資料傳輸或合併得到更好的匹配,確保資料安全。
本申請還提供一種電腦可讀存儲介質,所述電腦可讀存儲介質中存儲有電腦程式,所述電腦程式被處理器執行時用以實現如上所述的任一種針對神經網路劃分的步驟。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置,方法和電腦可讀存儲介質,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模組的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。
所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,作為模組顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。
另外,在本申請各個實施例中的各功能模組可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用硬體加軟體功能模組的形式實現。
對於本領域技術人員而言,顯然本申請不限於上述示範性實施例的細節,而且在不背離本申請的精神或基本特徵的情況下,能夠以其他的具體形式實現本申請。因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,本申請的範圍由所附請求項而不是上述說明限定,因此旨在將落在請求項的等同要件的含義和範圍內的所有變化涵括在本申請內。不應將請求項中的任何附關聯圖標記視為限制所涉及的請求項。此外,顯然“包括”一詞不排除其他單元或步驟,單數不排除複數。系統請求項中陳述的多個單元或裝置也可以由一個單元或裝置通過軟體或者硬體來實現。第二等詞語用來表示名稱,而並不表示任何特定的順序。
本技術領域的普通技術人員應當認識到,以上的實施方式僅是用來說明本發明,而並非用作為對本發明的限定,只要在本發明的實質精神範圍之內,對以上實施方式所作的適當改變和變化都落在本發明要求保護的範圍之內。
S1~S7:步驟
Claims (9)
- 一種神經網路劃分的方法,應用在電子設備中,其改良在於,所述神經網路劃分的方法包括:獲取神經網路模型,其中,所述神經網路模型包括n個運算元;掃描所述神經網路模型中的所有運算元子組;劃分所述神經網路模型為m個區域;重新掃描所述神經網路模型中的所有運算元子組,識別位於一個以上的所述區域的運算元子組為被破壞的運算元子組;分析所述被破壞的運算元子組中每個運算元的輸入及輸出,識別特定類別的運算元;以及調整特定類別的運算元,以調整劃分的區域。
- 如請求項1所述的神經網路劃分的方法,其中,所述分析所述被破壞的運算元子組中每個運算元的輸入及輸出,識別特定類別的運算元包括:識別輸入與輸出不一致的第一類運算元;以及統計所述第一類運算元輸入對應的第二類運算元。
- 如請求項2所述的神經網路劃分的方法,其中,所述識別輸入與輸出不一致的第一類運算元包括:分析所述被破壞的運算元子組中每個運算元的輸入及輸出,識別輸入與輸出位於不同所述區域的運算元,並統計這些運算元為第一類運算元。
- 如請求項3所述的神經網路劃分的方法,其中,所述統計所述第一類運算元輸入對應的第二類運算元包括:分析所述第一類運算元中每個運算元的輸入對應的運算元,並統計這類運算元為第二類運算元。
- 如請求項4所述的神經網路劃分的方法,其中,所述調整特定類別的運算元,以調整劃分的區域包括:將所述第二類運算元的輸出調整至與所述第一類運算元的輸出對應的區域,以調整劃分的區域。
- 如請求項1所述的神經網路劃分的方法,其中,每個所述運算元包括一個或多個輸入以及一個或多個輸出,相鄰的運算元,前一運算元的輸出作為後一運算元的輸入,一個運算元的輸出作為一個或多個運算元的輸入,一個的運算元的輸入來自一個或多個運算元的輸出。
- 如請求項1所述的神經網路劃分的方法,其中,所述掃描所述神經網路模型中的所有運算元子組包括:劃分所述神經網路模型中的n個運算元為m個區域,m為二或二以上的整數,每個所述區域中包括數量相當的所述運算元。
- 一種電子設備,其改良在於,所述電子設備包括處理器和記憶體,所述處理器用於執行記憶體中存儲的電腦程式以實現如請求項1至請求項7中任意一項所述的神經網路劃分的方法。
- 一種電腦可讀存儲介質,其改良在於,所述電腦可讀存儲介質存儲有至少一個指令,所述至少一個指令被處理器執行時實現如請求項1至請求項7中任意一項所述的神經網路劃分的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110127609A TWI766777B (zh) | 2021-07-27 | 2021-07-27 | 神經網路劃分的方法、電子設備及存儲介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110127609A TWI766777B (zh) | 2021-07-27 | 2021-07-27 | 神經網路劃分的方法、電子設備及存儲介質 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI766777B true TWI766777B (zh) | 2022-06-01 |
TW202305668A TW202305668A (zh) | 2023-02-01 |
Family
ID=83103766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110127609A TWI766777B (zh) | 2021-07-27 | 2021-07-27 | 神經網路劃分的方法、電子設備及存儲介質 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI766777B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201837792A (zh) * | 2017-03-09 | 2018-10-16 | 美商谷歌有限責任公司 | 硬體中之轉置神經網路矩陣 |
US20180373987A1 (en) * | 2017-05-18 | 2018-12-27 | salesforce.com,inc. | Block-diagonal hessian-free optimization for recurrent and convolutional neural networks |
US20200175350A1 (en) * | 2018-12-04 | 2020-06-04 | Bank Of America Corporation | System and method for online reconfiguration of a neural network system |
WO2020168699A1 (en) * | 2019-02-18 | 2020-08-27 | Boe Technology Group Co., Ltd. | Neural network for enhancing original image, and computer-implemented method for enhancing original image using neural network |
-
2021
- 2021-07-27 TW TW110127609A patent/TWI766777B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201837792A (zh) * | 2017-03-09 | 2018-10-16 | 美商谷歌有限責任公司 | 硬體中之轉置神經網路矩陣 |
US20180373987A1 (en) * | 2017-05-18 | 2018-12-27 | salesforce.com,inc. | Block-diagonal hessian-free optimization for recurrent and convolutional neural networks |
US20200175350A1 (en) * | 2018-12-04 | 2020-06-04 | Bank Of America Corporation | System and method for online reconfiguration of a neural network system |
WO2020168699A1 (en) * | 2019-02-18 | 2020-08-27 | Boe Technology Group Co., Ltd. | Neural network for enhancing original image, and computer-implemented method for enhancing original image using neural network |
Also Published As
Publication number | Publication date |
---|---|
TW202305668A (zh) | 2023-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112132032B (zh) | 交通标志牌检测方法、装置、电子设备及存储介质 | |
CN109117209A (zh) | 序列化和反序列化方法及装置 | |
CN110825731B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
JP7033165B2 (ja) | 情報を並列処理する方法および装置 | |
CN109542757A (zh) | 接口测试环境确定方法、装置、电子设备及存储介质 | |
KR20180125843A (ko) | (국문)다양한 cnn 모델에 적용 가능한 하드웨어 분류기 | |
Durón | Heatmap centrality: a new measure to identify super-spreader nodes in scale-free networks | |
CN113722758A (zh) | 日志脱敏方法、装置、计算机设备及存储介质 | |
TWI766777B (zh) | 神經網路劃分的方法、電子設備及存儲介質 | |
JP7495713B2 (ja) | 情報処理装置及び情報処理方法 | |
CN110309335B (zh) | 一种图片匹配方法、装置、设备及存储介质 | |
CN111815654A (zh) | 用于处理图像的方法、装置、设备和计算机可读介质 | |
JP6508327B2 (ja) | テキスト可視化システム、テキスト可視化方法、及び、プログラム | |
CN114710325B (zh) | 网络入侵检测模型的构建方法、装置、设备及存储介质 | |
Shahid et al. | AI DevOps for Large-Scale HRTF Predition and Evaluation: An End to End Pipeline | |
CN110009397A (zh) | 一种精准营销的方法及装置 | |
Coronado‐Barrientos et al. | AXC: A new format to perform the SpMV oriented to Intel Xeon Phi architecture in OpenCL | |
CN115700594A (zh) | 神经网络划分的方法、电子设备及存储介质 | |
CN114265500A (zh) | 一种基于传感器技术的虚拟现实增强方法及系统 | |
CN110224997B (zh) | 基于网关的服务暴露方法、装置及终端设备 | |
CN111625692A (zh) | 特征抽取方法、装置、电子设备和计算机可读介质 | |
CN113360747A (zh) | 基于神经网络模型的数据处理方法及装置 | |
CN114741018B (zh) | 数据可视化方法、装置、设备及存储介质 | |
CN111310933B (zh) | 特征依赖图计算优化方法、装置、设备及可读存储介质 | |
TWI755176B (zh) | 細胞密度分類方法及裝置、電子裝置及存儲介質 |