TWI898206B - 神經網路之運算轉換方法、基於卷積運算進行矩陣乘法運算的方法,以及智慧處理單元 - Google Patents
神經網路之運算轉換方法、基於卷積運算進行矩陣乘法運算的方法,以及智慧處理單元Info
- Publication number
- TWI898206B TWI898206B TW112114445A TW112114445A TWI898206B TW I898206 B TWI898206 B TW I898206B TW 112114445 A TW112114445 A TW 112114445A TW 112114445 A TW112114445 A TW 112114445A TW I898206 B TWI898206 B TW I898206B
- Authority
- TW
- Taiwan
- Prior art keywords
- operand
- data
- matrix
- convolution
- matrix multiplication
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本發明揭露了一種神經網路之運算轉換方法、基於卷積運算進行矩陣乘法運算的方法,以及智慧處理單元。基於卷積運算進行矩陣乘法運算的方法包含:(A)從一第一儲存裝置讀取一第一資料,並將該第一資料儲存至一第二儲存裝置;(B)從該第一儲存裝置讀取一第二資料,並將該第二資料儲存至該第二儲存裝置;(C)對該第一資料及該第二資料進行該卷積運算以得到一第一結果;以及(D)將該第一結果儲存至該第一儲存裝置。該第一結果係等於對該第一資料及該第二資料進行該矩陣乘法運算所得之一第二結果。
Description
本發明是關於矩陣乘法運算,尤其是關於基於卷積運算實現矩陣乘法運算的方法及裝置。
請參閱圖1,圖1顯示矩陣乘法(matrix multiplication)的示意圖。矩陣乘法運算子(operator)將矩陣ML與矩陣MR相乘而得到矩陣積(matrix product)MO(即,ML.MR=MO)。矩陣ML及矩陣MR是矩陣乘法運算子的兩個運算元(operand)。矩陣ML的列數rr為row_L(=5),矩陣ML的欄數cc為col_L(=1)。矩陣MR的列數rr為row_R(=1),矩陣MR的欄數cc為col_R(=5)。因此,矩陣積MO是一個row_L×col_R(=5×5)的矩陣。矩陣積MO的每一個元素(entry)(MO(rr,cc))的值為MO(1,1)=a1b1,MO(1,2)=a1b2,……,MO(2,1)=a2b1,……,以此類推。
轉換神經網路(Transform Neural Network)中存在大量的矩陣乘法運算子。然而,對於一個沒有實作矩陣乘法加速電路的電子裝置而言,大量的矩陣乘法對電子裝置是一個負擔,會影響電子裝置的效能及使用者體驗。
鑑於先前技術之不足,本發明之一目的在於提供神經網路之運算轉換方法、基於卷積運算進行矩陣乘法運算的方法,以及智慧處理單元,以改善先前技術的不足。
本發明之一實施例提供一種神經網路之運算轉換方法,用來將一矩陣乘法運算轉換成一卷積運算,該方法包含:(A)從一儲存裝置取得該矩陣乘法運算之一第一運算元及一第二運算元;(B)根據該第一運算元之一第一維度資訊決定一第三運算元之一第三維度資訊;(C)根據該第二運算元之一第二維度資訊決定一第四運算元之一第四維度資訊;(D)設定一偏移參數及一比例參數;(E)根據該第三維度資訊、該第四維度資訊、該偏移參數及該比例參數產生一卷積運算子;以及(F)將該卷積運算子儲存於該儲存裝置。該卷積運算子係對該第三運算元及該第四運算元進行該卷積運算,該第三運算元及該第四運算元之該卷積運算的結果實質上等於該第一運算元及該第二運算元之該矩陣乘法運算的結果。
本發明之另一實施例提供一種基於一卷積運算進行一矩陣乘法運算的方法,包含:(A)從一第一儲存裝置讀取一第一資料,並將該第一資料儲存至一第二儲存裝置;(B)從該第一儲存裝置讀取一第二資料,並將該第二資料儲存至該第二儲存裝置;(C)對該第一資料及該第二資料進行該卷積運算以得到一第一結果;以及(D)將該第一結果儲存至該第一儲存裝置。該第一結果係等於對該第一資料及該第二資料進行該矩陣乘法運算所得之一第二結果。
本發明之另一實施例提供一種智慧處理單元。智慧處理單元耦接一第一儲存裝置,包含:一第二儲存裝置、一直接記憶體存取電路以及一計算電路。直接記憶體存取電路耦接該第二儲存裝置,被配置以執行以下步驟:(A)從該第一儲存裝置讀取一第一資料,並將該第一資料儲存至該第二儲存裝置;以及(B)從該第一儲存裝置讀取一第二資料,並將該第二資料儲存至該第二儲存裝置。計算電路耦接該第二儲存裝置,被配置以執行以下步驟:(C)對該第一資料及該第二資料進行一卷積運算以得到一第一結果。該直接記憶體存取電路更將該第一結果儲存至該第一儲存裝置,該第一結果係等於對該第一資料及該第二資料進行一矩陣乘法運算所得之一第二結果。
本發明之實施例所體現的技術手段可以改善先前技術之缺點的至少其中之一,因此本發明相較於先前技術可以提升電子裝置的效能。
有關本發明的特徵、實作與功效,茲配合圖式作實施例詳細說明如下。
cc:欄數
ML,MR,MR':矩陣
MO:矩陣積
rr:列數
IB,KB,KB':輸入資料
OB:卷積運算的結果
OBV:表格
n:批號
h:高度
w:寬度
c:通道
400:運算轉換裝置
410,710:處理器
420,702:記憶體
430:儲存裝置
700:電子裝置
701:晶片
720:智慧處理單元
722:直接記憶體存取電路
724:快取記憶體
726:計算電路
727:卷積核心
728:向量核心
305,S310,S320,S330,S340,S350,S360,S370,S380,S390,S610,S810,S820,S830,S840,S850,S860:步驟
圖1顯示矩陣乘法的示意圖;圖2顯示本發明以卷積運算實現矩陣乘法的示意圖;圖3是本發明神經網路之運算轉換方法之一實施例的流程圖;圖4是本發明運算轉換裝置之一實施例的功能方塊圖;圖5是本發明資料重新排佈之另一實施例的示意圖;圖6是本發明神經網路之運算轉換方法之另一實施例的流程圖;
圖7是本發明電子裝置之一實施例的功能方塊圖;以及圖8是本發明基於卷積運算進行矩陣乘法運算的方法之一實施例的流程圖。
以下說明內容之技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
本發明之揭露內容包含神經網路之運算轉換方法、基於卷積運算進行矩陣乘法運算的方法,以及智慧處理單元。由於本發明之智慧處理單元所包含之部分元件單獨而言可能為已知元件,因此在不影響該裝置發明之充分揭露及可實施性的前提下,以下說明對於已知元件的細節將予以節略。此外,本發明之基於卷積運算進行矩陣乘法運算的方法的部分或全部流程可以是軟體及/或韌體之形式,並且可藉由本發明之智慧處理單元或其等效裝置來執行,在不影響該方法發明之充分揭露及可實施性的前提下,以下方法發明之說明將著重於步驟內容而非硬體。
由於卷積(convolution)神經網路是目前常見的神經網路之一,所以本發明提出基於卷積運算實現矩陣乘法運算的電子裝置及方法。
請參閱圖2,圖2顯示本發明以卷積運算實現矩陣乘法的示意圖。輸入資料IB與輸入資料KB是2維(2D)卷積運算子的兩個運算元。舉例來說,輸入資料IB可以是一個張量(tensor)或是一個張量的一部分(例如一個資料塊(tile)),而輸入資料KB可以是對應於輸入資料IB的權重資料(convolution kernel)。
輸入資料IB的維度資訊如下:批號(batch number(n))為1,高度(height(h))為1,寬度(width(w))為row_L(=5),通道(channel(c))為col_L(=1)。
輸入資料KB的維度資訊如下:批號(n)為col_R(=5)(即,輸入資料KB包含5個塊(block),每一塊對應一個卷積核),高度(h)為1,寬度(w)為1,通道(c)為row_R。
卷積運算的結果OB的維度資訊如下:批號(n)為1,深度(d)為1,高度(h)為1,寬度(w)為row_L,通道(c)為col_R。
表格OBV顯示卷積運算的結果OB的每一小塊的值(OB(w,c))。更明確地說,OB(1,1)=a1b1,OB(1,2)=a1b2,……,OB(2,1)=a2b1,……,以此類推。
請同時參閱圖1及圖2,因為OB(x,y)=MO(x,y)(x及y為正整數),所以卷積運算可以用來執行矩陣乘法。在一些實施例中,上述的卷積運算操作可以將偏移(bias)參數設定為0,以及將比例(scale)參數設定為1。
請參閱圖3,圖3是本發明神經網路之運算轉換方法之一實施例的流程圖。運算轉換方法用來將矩陣乘法運算子轉換成卷積運算子。請參閱圖4,圖4是本發明運算轉換裝置之一實施例的功能方塊圖。運算轉換裝置400包含處理器410(例如,中央處理器、微處理器、微處理單元)、記憶體420(可以是揮發性記憶體(volatile memory),例如動態隨機存取記憶體(Dynamic Random Access Memory,DRAM))以及儲存裝置430(可以是揮發性記憶體或非揮發性記憶體(non-volatile memory),例如DRAM、快閃記憶體(flash memory)或硬碟)。記憶體420儲存複數個程式碼。儲存裝置430
儲存一個神經網路的多個指令,該些指令中的一部分是關於矩陣乘法。處理器410藉由執行記憶體420中的該些程式碼來執行圖3的流程,以將矩陣乘法(矩陣乘法運算子)轉換成卷積運算(卷積運算子)。運算轉換裝置400可以是一個通用電腦(general-purpose computer),或是專門用於實作運算轉換方法之電腦。圖3包含以下步驟。
步驟S305:處理器410從儲存裝置430讀取神經網路的一個指令。
步驟S310:處理器410判斷該指令是否為矩陣乘法運算。如果是,則處理器410執行步驟S320;否則,處理器410執行步驟S305以讀取下一個指令。
步驟S320:處理器410取得該矩陣乘法運算的第一運算元及第二運算元。以圖1為例,處理器410在此步驟中從儲存裝置430取得矩陣MR(第一運算元)及矩陣ML(第二運算元)。
步驟S330:處理器410產生一資料排佈指令,該資料排佈指令用來重新排佈該第一運算元之資料。因為卷積運算的特性,所以需要對原本的矩陣乘法(ML.MR)中的右矩陣(即,矩陣MR)的資料(即,元素)進行重新排佈。舉例來說,請同時參閱圖1及圖2,矩陣ML與輸入資料IB之間沒有經過資料重新排佈,但輸入資料KB是矩陣MR經過資料重新排佈之後的結果。更明確地說,矩陣MR的第一欄對應到輸入資料KB的批號(n)等於1的塊,矩陣MR的第二欄對應到輸入資料KB的批號(n)等於2的塊,以此類推。
對一個矩陣來說,對該矩陣進行資料重新排佈等於或等效於對
該矩陣進行轉置(transpose)操作。矩陣的轉置操作的細節為本技術領域具有通常知識者所熟知,故不再贅述。
請參閱圖5,圖5是本發明資料重新排佈之另一實施例的示意圖。矩陣MR'經過資料重新排佈後成為輸入資料KB'。輸入資料KB'的批號(n)為col_R(=5),而輸入資料KB'通道(c)為row_R(=3)。作為比較,若沒有經過資料重新排佈,則對應於矩陣MR'的輸入資料的批號(n)為1,寬度(w)為row_R(=3),而通道(c)為col_R(=5)。
請繼續參閱圖3。
步驟S340:處理器410根據矩陣MR(第一運算元)的維度資訊決定輸入資料KB(第三運算元,即,卷積運算的其中一個運算元)的維度資訊。此步驟等於或等效於卷積運算之重整形(reshape)操作。舉例來說,圖1之矩陣MR的維度資訊是row_R×col_R=1×5,而圖2的輸入資料KB的維度資訊是(w,h,n,c)=(1,1,col_R,row_R)=(1,1,5,1)。卷積運算將根據輸入資料KB(第三運算元)的維度資訊處理輸入資料KB,也就是說,輸入資料KB的維度資訊決定卷積運算看待或處理輸入資料KB的方式。
步驟S350:處理器410根據矩陣ML(第二運算元)的維度資訊決定輸入資料IB(第四運算元,即,卷積運算的另一個運算元)的維度資訊。類似地,此步驟等於或等效於卷積運算之重整形操作。舉例來說,圖1之矩陣ML的維度資訊是row_L×col_L=5×1,而圖2的輸入資料IB的維度資訊是(w,h,n,c)=(row_L,1,1,col_L)=(5,1,1,1)。卷積運算將根據輸入資料IB(第四運算元)的維度資訊處理輸入資料IB,也就是說,輸入資料IB的維度資訊決定卷積運算看待或處理輸入資料IB的方式。
卷積運算的結果與輸入資料的維度資訊相關。當卷積運算指令包含被安排過的維度資訊時,卷積運算的結果便能如預期般的等於或實質上等於矩陣乘法的結果。
步驟S360:處理器410設定一偏移參數及一比例參數。更明確地說,處理器410將偏移參數設定為0,以及將比例參數設定為1。
步驟S370:處理器410根據輸入資料KB(第三運算元)的維度資訊、輸入資料IB(第四運算元)的維度資訊、該偏移參數及該比例參數產生卷積運算子。該卷積運算子是用來取代上述的矩陣乘法運算。更明確地說,輸入資料IB及輸入資料KB是該卷積運算子的運算元,而該卷積運算的結果OB等於或實質上等於矩陣乘法運算的結果(矩陣積MO)。
步驟S380:處理器410將該卷積運算子儲存於儲存裝置430。在實作上,卷積運算子可以以卷積運算指令的形式儲存於儲存裝置430中。
步驟S390:處理器410根據矩陣乘法運算的結果(即,矩陣積MO)的維度資訊決定卷積運算的結果OB的維度資訊。此步驟等於或等效於卷積運算之重整形操作,以便於後續的指令或操作將卷積運算的結果OB視為一個矩陣(2維的資料)。
在一些實施例中,步驟S390結束後,處理器410繼續執行步驟S305。也就是說,處理器410掃描儲存裝置430以檢視每個指令。
請注意,因為卷積運算滿足交換律(commutative property)(即,IB*KB=KB*IB),所以在不同的實施例中,輸入資料KB可以對應於矩陣ML,而輸入資料IB可以對應於矩陣MR(即,輸入資料IB是矩陣MR經過資料重新排佈後的資料)。
請參閱圖6,圖6是本發明神經網路之運算轉換方法之另一實施例的流程圖。圖6與圖3相似,差別在於,在圖6的實施例中,處理器410於步驟S330之前判斷矩陣MR是否已經過資料重新排佈(步驟S610)。更明確地說,在一個包含該矩陣乘法運算(即,ML.MR=MO)的整體運算中,如果矩陣MR在該矩陣乘法運算之前已經過資料重新排佈,則步驟S330可以被省略。
請參閱圖7,圖7是本發明電子裝置之一實施例的功能方塊圖。電子裝置700可以執行前述的卷積運算。電子裝置700包含晶片701及記憶體702。記憶體702是儲存裝置的一種(可以是揮發性記憶體(例如,DRAM))。晶片701可以是一個具有特定功能的晶片(例如,影像處理晶片),包含處理器710及智慧處理單元(intelligence processing unit,IPU)720。處理器710可以是具有程式執行能力的電路或電子元件,例如中央處理器、微處理器、微處理單元、數位訊號處理器、特殊應用積體電路(Application Specific Integrated Circuit,ASIC),或其等效電路。在一些情況下,處理器710與智慧處理單元720協作以實現晶片701的功能;更明確地說,處理器710傳送指令(例如,與卷積運算或向量運算相關的指令)給智慧處理單元720,而智慧處理單元720執行該些指令。
智慧處理單元720包含直接記憶體存取電路(Direct Memory Access,DMA)722、快取記憶體724(cache,儲存裝置的一種)及計算電路726。計算電路726包含卷積核心727及向量核心728。卷積核心727用來執行卷積運算,向量核心728用來執行向量運算。
請參閱圖8,圖8是本發明基於卷積運算進行矩陣乘法運算的方
法之一實施例的流程圖。圖8的流程可以由圖7的電子裝置700(更明確地說,晶片701)執行,包含以下步驟。這裡假設以下的卷積運算對應到ML.MR之矩陣乘法運算(請參考圖1)。請注意,不同於卷積運算,矩陣乘法運算不滿足交換律(即,ML.MR≠MR.ML)。
步驟S810:處理器710判斷是否有資料排佈指令。如果有(即,圖3或圖6之步驟S330曾被運算轉換裝置400執行),則處理器710控制智慧處理單元720執行步驟S820;否則,處理器710控制智慧處理單元720執行步驟S830至步驟S860。如未有資料排佈指令表明該矩陣乘法運算的資料已預先進行過重新排布操作。在一具體實施例中,當矩陣乘法運算的資料例如矩陣MR為一常量(constant value)時,該資料會預先進行重新排布操作,且重新排布後的資料存入儲存裝置中。
步驟S820:直接記憶體存取電路722從第一儲存裝置(例如,記憶體702)讀取第一原始資料(例如,矩陣MR),並且對該第一原始資料進行資料重新排佈操作以將第一原始資料轉換為第一資料(例如,輸入資料KB,即,後續之卷積運算的權重資料),然後將第一資料儲存至該第一儲存裝置。更明確地說,直接記憶體存取電路722藉由將第一原始資料寫入及讀出快取記憶體724來對第一原始資料執行該資料重新排佈操作。該資料重新排佈操作等效於矩陣運算中的轉置操作。接著,直接記憶體存取電路722將第一資料寫回第一儲存裝置。
步驟S830:直接記憶體存取電路722從第一儲存裝置讀取第一資料(例如,輸入資料KB),並將該第一資料儲存至第二儲存裝置(例如,快取記憶體724)。請注意,當沒有資料排佈指令時(即,步驟S810的結果為
否),第一原始資料的排佈已經是卷積運算之輸入資料的格式(例如,輸入資料KB的格式)。請注意,步驟S830不對第一資料進行重新排佈。
步驟S840:直接記憶體存取電路722從該第一儲存裝置讀取第二資料(例如,輸入資料IB,實質上等同於矩陣ML),並將該第二資料儲存至該第二儲存裝置。請注意,步驟S840不對第二資料進行重新排佈。
步驟S850:計算電路726(更明確地說,卷積核心727)對該第一資料及該第二資料進行該卷積運算以得到結果(例如,卷積運算的結果OB),並將該結果儲存在第二儲存裝置。在一些實施例中,該卷積運算之偏移參數及比例參數分別為0與1。在一些實施例中,偏移參數及比例參數預先儲存在記憶體702中,而智慧處理單元720從記憶體702中讀取該些參數並進行對應的設定。
步驟S860:直接記憶體存取電路722將該結果儲存至該第一儲存裝置,以供晶片701進行後續的其他操作。
如前述所討論的,因為晶片701所執行的指令已預先經過處理,所以晶片701所執行的卷積運算的結果會等同於矩陣乘法的結果(例如,請參閱圖1及圖2,卷積運算的結果OB等於或實質上等於矩陣積MO)。
綜上所述,即便電子裝置沒有實作矩陣乘法加速電路,仍可利用本發明來加速矩陣乘法的運算,以提升效能及改善使用者體驗。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可根據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為
準。
S305,S310,S320,S330,S340,S350,S360,S370,S380,S390:步驟
Claims (5)
- 一種神經網路之運算轉換方法,由一運算轉換裝置執行,用來將一矩陣乘法運算轉換成一卷積運算,該運算轉換裝置包含互相耦接之一處理器及一儲存裝置,該方法包含: (A)該處理器從該儲存裝置取得該矩陣乘法運算之一第一運算元及一第二運算元;(B)該處理器根據該第一運算元之一第一維度資訊決定一第三運算元之一第三維度資訊;(C)該處理器根據該第二運算元之一第二維度資訊決定一第四運算元之一第四維度資訊;(D)該處理器設定一偏移參數及一比例參數;(E)該處理器根據該第三維度資訊、該第四維度資訊、該偏移參數及該比例參數產生一卷積運算子;以及(F)該處理器將該卷積運算子儲存於該儲存裝置;其中,該卷積運算子係對該第三運算元及該第四運算元進行該卷積運算,該第三運算元及該第四運算元之該卷積運算的結果實質上等於該第一運算元及該第二運算元之該矩陣乘法運算的結果;其中,該矩陣乘法運算係產生一第一結果,該卷積運算子係產生一第二結果,該方法更包含:(G)根據該第一結果之一第五維度資訊決定該第二結果之一第六維度資訊。
- 如請求項1之方法,更包含: 該處理器於該步驟(B)之前產生一資料排佈指令,該資料排佈指令係用來重新排佈該第一運算元。
- 如請求項2之方法,其中,該第一運算元係一矩陣,該資料排佈指令係等效於對該矩陣進行一轉置操作。
- 如請求項2之方法,其中,該第三運算元係該卷積運算的一權重資料。
- 如請求項1之方法,其中,該第一運算元係一矩陣A,該第二運算元係一矩陣B,該矩陣乘法運算係計算B·A,該方法更包含: 該處理器於該步驟(B)之前產生一資料排佈指令,該資料排佈指令係用來重新排佈該矩陣A之資料。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112114445A TWI898206B (zh) | 2023-04-18 | 2023-04-18 | 神經網路之運算轉換方法、基於卷積運算進行矩陣乘法運算的方法,以及智慧處理單元 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112114445A TWI898206B (zh) | 2023-04-18 | 2023-04-18 | 神經網路之運算轉換方法、基於卷積運算進行矩陣乘法運算的方法,以及智慧處理單元 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202443440A TW202443440A (zh) | 2024-11-01 |
| TWI898206B true TWI898206B (zh) | 2025-09-21 |
Family
ID=94377762
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112114445A TWI898206B (zh) | 2023-04-18 | 2023-04-18 | 神經網路之運算轉換方法、基於卷積運算進行矩陣乘法運算的方法,以及智慧處理單元 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI898206B (zh) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109214511A (zh) * | 2018-08-15 | 2019-01-15 | 算丰科技(北京)有限公司 | 数据处理方法、数据处理装置以及电子设备 |
| US20200285892A1 (en) * | 2017-04-04 | 2020-09-10 | Hailo Technologies Ltd. | Structured Weight Based Sparsity In An Artificial Neural Network |
| TW202119292A (zh) * | 2019-11-07 | 2021-05-16 | 財團法人工業技術研究院 | 動態多組態cnn加速器架構與操作方法 |
| TW202139077A (zh) * | 2020-04-13 | 2021-10-16 | 日商利普麥德股份有限公司 | 神經網路電路、網路終端設備及神經網路運算方法 |
| US20220179658A1 (en) * | 2019-08-29 | 2022-06-09 | Arm Limited | Refactoring Mac Operations |
| CN114968182A (zh) * | 2022-06-29 | 2022-08-30 | 北京知存科技有限公司 | 用于存算一体芯片的算子拆分方法、控制方法和装置 |
| CN115131467A (zh) * | 2021-03-26 | 2022-09-30 | 北京小米移动软件有限公司 | 图像处理方法及装置、电子设备、存储介质 |
| US20220405556A1 (en) * | 2021-06-17 | 2022-12-22 | International Business Machines Corporation | Single function to perform combined matrix multiplication and bias add operations |
-
2023
- 2023-04-18 TW TW112114445A patent/TWI898206B/zh active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200285892A1 (en) * | 2017-04-04 | 2020-09-10 | Hailo Technologies Ltd. | Structured Weight Based Sparsity In An Artificial Neural Network |
| CN109214511A (zh) * | 2018-08-15 | 2019-01-15 | 算丰科技(北京)有限公司 | 数据处理方法、数据处理装置以及电子设备 |
| US20220179658A1 (en) * | 2019-08-29 | 2022-06-09 | Arm Limited | Refactoring Mac Operations |
| TW202119292A (zh) * | 2019-11-07 | 2021-05-16 | 財團法人工業技術研究院 | 動態多組態cnn加速器架構與操作方法 |
| TW202139077A (zh) * | 2020-04-13 | 2021-10-16 | 日商利普麥德股份有限公司 | 神經網路電路、網路終端設備及神經網路運算方法 |
| CN115131467A (zh) * | 2021-03-26 | 2022-09-30 | 北京小米移动软件有限公司 | 图像处理方法及装置、电子设备、存储介质 |
| US20220405556A1 (en) * | 2021-06-17 | 2022-12-22 | International Business Machines Corporation | Single function to perform combined matrix multiplication and bias add operations |
| CN114968182A (zh) * | 2022-06-29 | 2022-08-30 | 北京知存科技有限公司 | 用于存算一体芯片的算子拆分方法、控制方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202443440A (zh) | 2024-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250278605A1 (en) | Buffer Addressing for a Convolutional Neural Network | |
| US12265915B2 (en) | Composable neural network kernels | |
| CN109919311B (zh) | 生成指令序列的方法、执行神经网络运算的方法和装置 | |
| US11468301B2 (en) | Method and apparatus for performing operation of convolutional layer in convolutional neural network | |
| CN111247527B (zh) | 在卷积神经网络模型中确定特征图像的方法和装置 | |
| JP7353475B2 (ja) | コンピュータがテンソルデータの計算を実現する方法、装置、媒体及び機器 | |
| CN108573305B (zh) | 一种数据处理方法、设备及装置 | |
| JP2022538759A (ja) | 構成可能なニューラルネットワークカーネル | |
| CN109313663B (zh) | 人工智能计算辅助处理装置、方法、存储介质、及终端 | |
| US20180181406A1 (en) | Arithmetic processing device and control method of the arithmetic processing device | |
| CN118643253B (zh) | 数据处理方法、装置、设备和存储介质 | |
| TWI898206B (zh) | 神經網路之運算轉換方法、基於卷積運算進行矩陣乘法運算的方法,以及智慧處理單元 | |
| CN114880985A (zh) | 基于高斯面均匀采样的寄生电容提取方法及装置 | |
| WO2019136751A1 (zh) | 人工智能并行处理方法、装置、可读存储介质、及终端 | |
| CN111953999B (zh) | 一种反变换方法及装置 | |
| JP5979966B2 (ja) | 回路設計支援装置及び回路設計支援方法及びプログラム | |
| US20230385609A1 (en) | Intelligence processing unit and 3-dimensional pooling operation | |
| US20240346109A1 (en) | Operation conversion method for neural network, method of performing matrix multiplication operation based on convolution operation, and intelligence processing unit | |
| CN111831328A (zh) | 数据处理的方法及装置 | |
| CN107590240B (zh) | 一种用于页面渲染的调整文字大小的方法及装置 | |
| CN114741405A (zh) | Excel数据表导出方法、装置、设备及存储介质 | |
| CN118761899A (zh) | 一种张量折叠方法、设备、存储介质及程序产品 | |
| WO2022221982A1 (zh) | 一种图像重建方法、装置、终端设备和存储介质 | |
| JP4048752B2 (ja) | パターンデータ補正方法、パターンデータ補正装置およびそのプログラム | |
| US11830162B2 (en) | Image processing apparatus configured to perform edge preserving smoothing and image processing method thereof |