等级3张量与张量流中等级2的张量相乘

时间:2019-02-13 16:10:49

标签: python tensorflow deep-learning

我对Tensorflow中的乘法有疑问;我有一个等级3的张量A和等级2的张量B,我怎样才能得到一个等级3的张量C,它在C的第一维中的每个元素都将A(第一维)中的每个矩阵与张量B的相乘? 例如:

A= [[[1,2],[3,4]],[[5,6],[7,8]]]
B = [[2,3],[4,5]]

我想最终获得3级张量C:

C = [A[:,0,0]*B,A[1,:0,:]*B] 
  = [[[1,2],[3,4]]*B,[[5,6],[7,8]]*B]

非常感谢您!

1 个答案:

答案 0 :(得分:0)

可以使用tf.matmul解决此问题。我可以重复B次m次,这等于A次维度;然后C = tf.matmul(A,B);即新的B定义为:

B=[B,B]=[[[2,3],[4,5]],[[2,3],[4,5]]]

B的维数为[2,2,2],而A的维数为[2,2,2,],则tf.matmul(A,B)将按分量进行乘法(每个分量为2乘以2张量),结果C的尺寸为[2,2,2]