【发布时间】:2023-03-15 01:59:01
【问题描述】:
我想将两个不同等级的张量相乘,例如
tensor A -> (i x j x k x l)
tensor B -> (l x m)
获得另一个具有此尺寸的张量。
tensor C -> (i x j x k x m) = (i x j x k x l)*(l x m)
在 tensorflow 中,我必须一直重塑才能获得输出
(A.reshape(-1,l)*B).reshape(i,j,k,m)
还有其他直接做的操作吗?
【问题讨论】:
-
您是要按元素对这些张量进行倍增,还是执行(批量)矩阵乘法?
-
这是一个像这样的矩阵乘法 (i x j x k x l)*(l x m) = (i x j x k x m)。可能是批量矩阵乘法。
-
但是你需要使用
tf.matmul而不是* -
tf.matmul给出排名错误(Tensorflow 1.4)。np.matmul似乎按预期工作。 -
使用 tf.tensordot: stackoverflow.com/questions/47969305
标签: tensorflow algebra tensor