我在张量流中有2个3D张量,其中两个张量的形状为Kx2x2 . 张量代表一组2x2矩阵 . 有没有办法将第一张量中的2x2矩阵与第二张量中的相应矩阵相乘,以便最终得到Kx2x2张量?
tf.matmul是矩阵乘法的正确运算符 . 如果张量的尺寸大于2,则内部2指定矩阵的形状 . 因此,两个张量的形状必须分别是[a1,a2,...,an,x,y]和[a1,a2,...,an,y,z]([K,2,2] in OP的情况) .
Sample Code
# Suppose X and Y are two tensors of the shape [K, 2, 2] result = tf.matmul(X, Y)
你可以使用tf.matmul .
c = tf.matmul(a, b)
你可以做tf.matmul(a,b) .
根据tensorflow文档,
tf.matmul返回:与a和b相同类型的张量,其中每个最内层矩阵是a和b中相应矩阵的乘积 .
输出[...,i,j] = sum_k(a [...,i,k] * b [...,k,j]),对于所有索引i,j .
https://www.tensorflow.org/api_docs/python/tf/matmul
3 回答
tf.matmul是矩阵乘法的正确运算符 . 如果张量的尺寸大于2,则内部2指定矩阵的形状 . 因此,两个张量的形状必须分别是[a1,a2,...,an,x,y]和[a1,a2,...,an,y,z]([K,2,2] in OP的情况) .
Sample Code
你可以使用tf.matmul .
你可以做tf.matmul(a,b) .
根据tensorflow文档,
tf.matmul返回:与a和b相同类型的张量,其中每个最内层矩阵是a和b中相应矩阵的乘积 .
输出[...,i,j] = sum_k(a [...,i,k] * b [...,k,j]),对于所有索引i,j .
https://www.tensorflow.org/api_docs/python/tf/matmul