Einsum¶
Einsum - 12¶
版本¶
網域:
main
since_version:
12
函數:
False
支援等級:
SupportType.COMMON
形狀推斷:
True
此版本的運算子自版本 12 起可用。
摘要¶
形式為 term1, term2 -> output-term
的 einsum 使用以下方程式產生輸出張量
output[output-term] = reduce-sum( input1[term1] * input2[term2] )
其中 reduce-sum 執行對輸入項(term1, term2)中出現但未在 output-term 中出現的所有索引的求和。
Einsum 運算子使用愛因斯坦求和慣例評估一系列張量上的代數張量運算。方程式字串包含一個以逗號分隔的小寫字母序列。每個項對應一個運算元張量,而項內的字元對應運算元的維度。
此序列後面可以跟著“->”來分隔方程式的左側和右側。如果方程式包含“->”後面跟著右側,則執行愛因斯坦求和的明確(非古典)形式,並且右側索引表示輸出張量的維度。在其他情況下,輸出索引(隱式)設定為方程式中恰好出現一次的索引的字母排序序列。
當維度字元在左側重複時,表示沿該維度求和。
方程式可能包含省略符號(“…”)以啟用廣播。省略符號必須表示固定數量的維度。具體而言,方程式中每次出現的省略符號都必須表示相同數量的維度。右側可能包含正好一個省略符號。在隱式模式下,省略符號的維度設定為輸出的開頭。方程式字串可能包含空格 (U+0020) 字元。
屬性¶
equation - STRING (必要)
Einsum 表達式字串。
輸入¶
介於 1 和 2147483647 個輸入之間。
Inputs (可變、異質) - T
運算元
輸出¶
Output (異質) - T
輸出張量
類型約束¶
T in (
tensor(double)
,tensor(float)
,tensor(float16)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)將輸入和輸出類型限制為所有數值張量類型。