Keras 中的张量乘法

Tensor multiplication in Keras

我有两个大小为

的张量

A

和 B

现在,我想将它们在通常的矩阵行列乘积的意义上相乘得到

A * B 大小为 (?, 300, 2),所以我将只在第二和第三维上进行矩阵乘积。我怎样才能做到这一点?

我尝试使用 tf.tensordot 不同的轴规格,但目前还没有成功。例如我试过

tf.tensordot(A,B,axes=[[2], [0]])

但这会产生以下形式的张量

也许试试 tf.matmul:

import tensorflow as tf

samples = 1
A = tf.random.normal((samples, 300, 2))
B = tf.random.normal((samples, 2, 2))

print(tf.matmul(A, B).shape)
# (1, 300, 2)