如何在张量流中将k 2x2矩阵乘以k 2x2矩阵?

时间:2018-06-30 22:13:32

标签: python tensorflow matrix matrix-multiplication

我在张量流中有2个3D张量,其中两个张量的形状为Kx2x2。张量表示一组2x2矩阵。有没有办法将第一个张量中的2x2矩阵与第二个张量中的对应矩阵相乘,以便最后得到Kx2x2张量?

2 个答案:

答案 0 :(得分:1)

tf.matmul是矩阵乘法的正确运算符。如果张量的尺寸超过2,则内部2指定矩阵的形状。因此,两个张量的形状必须为[a 1, a 2 ,...,a n ,x,y]和[a 1, a 2 ,...,a n ,y,z](OP中的[K,2,2]情况)。

示例代码

# Suppose X and Y are two tensors of the shape [K, 2, 2]
result = tf.matmul(X, Y)

答案 1 :(得分:1)

您可以执行tf.matmul(a,b)。

根据tensorflow文档,

tf.matmul返回: 与a和b类型相同的张量,其中每个最里面的矩阵是a和b中相应矩阵的乘积。

output [...,i,j] = sum_k(a [...,i,k] * b [...,k,j]),对于所有索引i,j。

https://www.tensorflow.org/api_docs/python/tf/matmul