假设我有两个不同尺寸的张量。
<tf.Tensor 'embedding_lookup:0' shape=(?, 128) dtype=float32> <tf.Tensor 'Neg:0' shape=(?, 15, 128) dtype=float32>
我想对这两个张量进行矩阵乘法,这样我得到一个形状为(?, 15, 1)或(?, 15)的最终张量。我怎么能这样做?
(?, 15, 1)
(?, 15)
X和Y分别作为2D和3D输入,我们可以使用tf.einsum -
X
Y
2D
3D
tf.einsum
tf.einsum('ij,ikj->ik',X,Y)
输出的形状为(?, 15)。