Gemm¶
Gemm - 13¶
版本¶
名稱: Gemm (GitHub)
網域:
main
since_version:
13
函式:
False
支援層級:
SupportType.COMMON
形狀推論:
True
此版本的運算子自第 13 版起可用。
摘要¶
通用矩陣乘法:https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
A’ = 如果 transA 則轉置(A) 否則 A
B’ = 如果 transB 則轉置(B) 否則 B
計算 Y = alpha * A’ * B’ + beta * C,其中輸入張量 A 的形狀為 (M, K) 或 (K, M),輸入張量 B 的形狀為 (K, N) 或 (N, K),輸入張量 C 可廣播為形狀 (M, N),而輸出張量 Y 的形狀為 (M, N)。如果屬性 transA 為非零值,則 A 會在執行計算之前轉置,B 和 transB 亦同。此運算子支援單向廣播(張量 C 應可單向廣播為張量 A * B);如需更多詳細資訊,請查看 ONNX 中的廣播。此運算子具有選用的輸入/輸出。如需關於選用引數表示法的更多詳細資訊,請參閱 ONNX IR。空字串可用於代替實際引數的名稱,以指示遺失的引數。尾隨的選用引數(後面沒有接著存在的引數)也可以直接省略。
屬性¶
alpha - FLOAT(預設為
'1.0'
)輸入張量 A * B 乘積的純量乘數。
beta - FLOAT(預設為
'1.0'
)輸入張量 C 的純量乘數。
transA - INT(預設為
'0'
)是否應轉置 A
transB - INT(預設為
'0'
)是否應轉置 B
輸入¶
介於 2 到 3 個輸入之間。
A(異質)- T
輸入張量 A。如果 transA 為 0,則 A 的形狀應為 (M, K);如果 transA 為非零值,則 A 的形狀應為 (K, M)。
B(異質)- T
輸入張量 B。如果 transB 為 0,則 B 的形狀應為 (K, N);如果 transB 為非零值,則 B 的形狀應為 (N, K)。
C(選用,異質)- T
選用輸入張量 C。如果未指定,則計算的執行方式視為 C 為純量 0。C 的形狀應可單向廣播為 (M, N)。
輸出¶
Y(異質)- T
形狀為 (M, N) 的輸出張量。
類型限制¶
T 在(
tensor(bfloat16)
、tensor(double)
、tensor(float)
、tensor(float16)
、tensor(int32)
、tensor(int64)
、tensor(uint32)
、tensor(uint64)
)中將輸入和輸出類型限制為浮點數/整數張量。
Gemm - 11¶
版本¶
名稱: Gemm (GitHub)
網域:
main
since_version:
11
函式:
False
支援層級:
SupportType.COMMON
形狀推論:
True
此版本的運算子自第 11 版起可用。
摘要¶
通用矩陣乘法:https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
A’ = 如果 transA 則轉置(A) 否則 A
B’ = 如果 transB 則轉置(B) 否則 B
計算 Y = alpha * A’ * B’ + beta * C,其中輸入張量 A 的形狀為 (M, K) 或 (K, M),輸入張量 B 的形狀為 (K, N) 或 (N, K),輸入張量 C 可廣播為形狀 (M, N),而輸出張量 Y 的形狀為 (M, N)。如果屬性 transA 為非零值,則 A 會在執行計算之前轉置,B 和 transB 亦同。此運算子支援單向廣播(張量 C 應可單向廣播為張量 A * B);如需更多詳細資訊,請查看 ONNX 中的廣播。此運算子具有選用的輸入/輸出。如需關於選用引數表示法的更多詳細資訊,請參閱 ONNX IR。空字串可用於代替實際引數的名稱,以指示遺失的引數。尾隨的選用引數(後面沒有接著存在的引數)也可以直接省略。
屬性¶
alpha - FLOAT(預設為
'1.0'
)輸入張量 A * B 乘積的純量乘數。
beta - FLOAT(預設為
'1.0'
)輸入張量 C 的純量乘數。
transA - INT(預設為
'0'
)是否應轉置 A
transB - INT(預設為
'0'
)是否應轉置 B
輸入¶
介於 2 到 3 個輸入之間。
A(異質)- T
輸入張量 A。如果 transA 為 0,則 A 的形狀應為 (M, K);如果 transA 為非零值,則 A 的形狀應為 (K, M)。
B(異質)- T
輸入張量 B。如果 transB 為 0,則 B 的形狀應為 (K, N);如果 transB 為非零值,則 B 的形狀應為 (N, K)。
C(選用,異質)- T
選用輸入張量 C。如果未指定,則計算的執行方式視為 C 為純量 0。C 的形狀應可單向廣播為 (M, N)。
輸出¶
Y(異質)- T
形狀為 (M, N) 的輸出張量。
類型限制¶
T 在(
tensor(double)
、tensor(float)
、tensor(float16)
、tensor(int32)
、tensor(int64)
、tensor(uint32)
、tensor(uint64)
)中將輸入和輸出類型限制為浮點數/整數張量。
Gemm - 9¶
版本¶
名稱: Gemm (GitHub)
網域:
main
since_version:
9
函式:
False
支援層級:
SupportType.COMMON
形狀推論:
True
此版本的運算子自第 9 版起可用。
摘要¶
通用矩陣乘法:https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
A’ = 如果 transA 則轉置(A) 否則 A
B’ = 如果 transB 則轉置(B) 否則 B
計算 Y = alpha * A’ * B’ + beta * C,其中輸入張量 A 的形狀為 (M, K) 或 (K, M),輸入張量 B 的形狀為 (K, N) 或 (N, K),輸入張量 C 可廣播為形狀 (M, N),而輸出張量 Y 的形狀為 (M, N)。如果屬性 transA 為非零值,則 A 會在執行計算之前轉置,B 和 transB 亦同。此運算子支援單向廣播(張量 C 應可單向廣播為張量 A * B);如需更多詳細資訊,請查看 ONNX 中的廣播。
屬性¶
alpha - FLOAT(預設為
'1.0'
)輸入張量 A * B 乘積的純量乘數。
beta - FLOAT(預設為
'1.0'
)輸入張量 C 的純量乘數。
transA - INT(預設為
'0'
)是否應轉置 A
transB - INT(預設為
'0'
)是否應轉置 B
輸入¶
A(異質)- T
輸入張量 A。如果 transA 為 0,則 A 的形狀應為 (M, K);如果 transA 為非零值,則 A 的形狀應為 (K, M)。
B(異質)- T
輸入張量 B。如果 transB 為 0,則 B 的形狀應為 (K, N);如果 transB 為非零值,則 B 的形狀應為 (N, K)。
C(異質)- T
輸入張量 C。C 的形狀應可單向廣播為 (M, N)。
輸出¶
Y(異質)- T
形狀為 (M, N) 的輸出張量。
類型限制¶
T 在(
tensor(double)
、tensor(float)
、tensor(float16)
、tensor(int32)
、tensor(int64)
、tensor(uint32)
、tensor(uint64)
)中將輸入和輸出類型限制為浮點數/整數張量。
Gemm - 7¶
版本¶
名稱: Gemm (GitHub)
網域:
main
since_version:
7
函式:
False
支援層級:
SupportType.COMMON
形狀推論:
True
此版本的運算子自第 7 版起可用。
摘要¶
通用矩陣乘法:https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
A’ = 如果 transA 則轉置(A) 否則 A
B’ = 如果 transB 則轉置(B) 否則 B
計算 Y = alpha * A’ * B’ + beta * C,其中輸入張量 A 的形狀為 (M, K) 或 (K, M),輸入張量 B 的形狀為 (K, N) 或 (N, K),輸入張量 C 可廣播為形狀 (M, N),而輸出張量 Y 的形狀為 (M, N)。如果屬性 transA 為非零值,則 A 會在執行計算之前轉置,B 和 transB 亦同。此運算子支援單向廣播(張量 C 應可單向廣播為張量 A * B);如需更多詳細資訊,請查看 ONNX 中的廣播。
屬性¶
alpha - FLOAT(預設為
'1.0'
)輸入張量 A * B 乘積的純量乘數。
beta - FLOAT(預設為
'1.0'
)輸入張量 C 的純量乘數。
transA - INT(預設為
'0'
)是否應轉置 A
transB - INT(預設為
'0'
)是否應轉置 B
輸入¶
A(異質)- T
輸入張量 A。如果 transA 為 0,則 A 的形狀應為 (M, K);如果 transA 為非零值,則 A 的形狀應為 (K, M)。
B(異質)- T
輸入張量 B。如果 transB 為 0,則 B 的形狀應為 (K, N);如果 transB 為非零值,則 B 的形狀應為 (N, K)。
C(異質)- T
輸入張量 C。C 的形狀應可單向廣播為 (M, N)。
輸出¶
Y(異質)- T
形狀為 (M, N) 的輸出張量。
類型約束¶
T in (
tensor(double)
,tensor(float)
,tensor(float16)
)限制輸入和輸出類型為浮點數張量。
Gemm - 6¶
版本¶
名稱: Gemm (GitHub)
網域:
main
since_version:
6
函式:
False
支援層級:
SupportType.COMMON
形狀推論:
True
此版本的運算子自版本 6 開始可用。
摘要¶
通用矩陣乘法:https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3 計算 Y = alpha * A * B + beta * C,其中輸入張量 A 的維度為 (M X K),輸入張量 B 的維度為 (K X N),輸入張量 C 和輸出張量 Y 的維度為 (M X N)。如果屬性 broadcast 非零,輸入張量 C 將被廣播以匹配維度要求。如果屬性 transA 非零,則 A 將在計算之前轉置,B 和 transB 亦同。
屬性¶
alpha - FLOAT(預設為
'1.0'
)輸入張量 A * B 的乘積的純量乘數,預設值為 1.0。
beta - FLOAT(預設為
'1.0'
)輸入張量 C 的純量乘數,預設值為 1.0。
broadcast - INT(預設值為
'0'
)是否應廣播 C
transA - INT(預設為
'0'
)是否應轉置 A
transB - INT(預設為
'0'
)是否應轉置 B
輸入¶
A(異質)- T
輸入張量 A
B(異質)- T
輸入張量 B
C(異質)- T
輸入張量 C
輸出¶
Y(異質)- T
輸出張量。
類型約束¶
T in (
tensor(double)
,tensor(float)
,tensor(float16)
)限制輸入和輸出類型為浮點數張量。
Gemm - 1¶
版本¶
名稱: Gemm (GitHub)
網域:
main
since_version:
1
函式:
False
支援層級:
SupportType.COMMON
形狀推斷:
False
此版本的運算子自版本 1 開始可用。
摘要¶
通用矩陣乘法:https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3 計算 Y = alpha * A * B + beta * C,其中輸入張量 A 的維度為 (M X K),輸入張量 B 的維度為 (K X N),輸入張量 C 和輸出張量 Y 的維度為 (M X N)。如果屬性 broadcast 非零,輸入張量 C 將被廣播以匹配維度要求。如果屬性 transA 非零,則 A 將在計算之前轉置,B 和 transB 亦同。
屬性¶
alpha - FLOAT(預設為
'1.0'
)輸入張量 A * B 的乘積的純量乘數,預設值為 1.0。
beta - FLOAT(預設為
'1.0'
)輸入張量 C 的純量乘數,預設值為 1.0。
broadcast - INT(預設值為
'0'
)是否應廣播 C
transA - INT(預設為
'0'
)是否應轉置 A
transB - INT(預設為
'0'
)是否應轉置 B
輸入¶
A(異質)- T
輸入張量 A
B(異質)- T
輸入張量 B
C(異質)- T
輸入張量 C,可以原地操作。
輸出¶
Y(異質)- T
輸出張量。
類型約束¶
T in (
tensor(double)
,tensor(float)
,tensor(float16)
)限制輸入和輸出類型為浮點數張量。