Gemm¶
Gemm - 13¶
版本¶
名称: Gemm (GitHub)
域:
main
起始版本:
13
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
该版本的算子已可用,起始版本为 13。
摘要¶
一般矩阵乘法: https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
A’ = 如果 transA 非零则 transpose(A) 否则 A
B’ = 如果 transB 非零则 transpose(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 非零,则形状应为 (K, M)。
B (异构) - T
输入张量 B。如果 transB 为 0,则 B 的形状应为 (K, N);如果 transB 非零,则形状应为 (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
起始版本:
11
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
该版本的算子已可用,起始版本为 11。
摘要¶
一般矩阵乘法: https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
A’ = 如果 transA 非零则 transpose(A) 否则 A
B’ = 如果 transB 非零则 transpose(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 非零,则形状应为 (K, M)。
B (异构) - T
输入张量 B。如果 transB 为 0,则 B 的形状应为 (K, N);如果 transB 非零,则形状应为 (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
起始版本:
9
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
该版本的算子已可用,起始版本为 9。
摘要¶
一般矩阵乘法: https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
A’ = 如果 transA 非零则 transpose(A) 否则 A
B’ = 如果 transB 非零则 transpose(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 非零,则形状应为 (K, M)。
B (异构) - T
输入张量 B。如果 transB 为 0,则 B 的形状应为 (K, N);如果 transB 非零,则形状应为 (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
起始版本:
7
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
该版本的算子已可用,起始版本为 7。
摘要¶
一般矩阵乘法: https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
A’ = 如果 transA 非零则 transpose(A) 否则 A
B’ = 如果 transB 非零则 transpose(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 非零,则形状应为 (K, M)。
B (异构) - T
输入张量 B。如果 transB 为 0,则 B 的形状应为 (K, N);如果 transB 非零,则形状应为 (N, K)。
C (异构) - T
输入张量 C。C 的形状应对 (M, N) 进行单向广播。
输出¶
Y (异构) - T
形状为 (M, N) 的输出张量。
类型约束¶
T 的取值范围为 (
tensor(double)
,tensor(float)
,tensor(float16)
)将输入和输出类型约束为浮点张量。
Gemm - 6¶
版本¶
名称: Gemm (GitHub)
域:
main
起始版本:
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 的取值范围为 (
tensor(double)
,tensor(float)
,tensor(float16)
)将输入和输出类型约束为浮点张量。
Gemm - 1¶
版本¶
名称: Gemm (GitHub)
域:
main
起始版本:
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 的取值范围为 (
tensor(double)
,tensor(float)
,tensor(float16)
)将输入和输出类型约束为浮点张量。