通常,当我们将维度 1*n
的向量 v
与维度 m*n*k
的张量 T
相乘时,我们期望获得维度 m*k
/ m*1*k
的矩阵/张量 . 这意味着我们的张量具有 m
矩阵切片,其维数为 n*k
,并且 v
与每个矩阵相乘,并且得到的向量堆叠在一起 . 为了在 tensorflow
中进行这种乘法,我想出了以下公式 . 我只是想知道是否有任何内置函数直接执行此标准乘法?
T = tf.Variable(tf.random_normal((m,n,k)), name="tensor")
v = tf.Variable(tf.random_normal((1,n)), name="vector")
c = tf.stack([v,v]) # m times, here set m=2
output = tf.matmul(c,T)
2 回答
你可以这样做:
码:
不确定是否有更好的方法,但听起来你可以像这样使用
tf.map_fn
: