Python 3.x 使用tensordot获取意外形状

Python 3.x 使用tensordot获取意外形状,python-3.x,tensorflow,deep-learning,tensor,attention-model,Python 3.x,Tensorflow,Deep Learning,Tensor,Attention Model,我想做两个形状张量之间的点积 (2000, 1, 64) (2000, 30, 64) 当我使用以下代码在这两者之间执行tf.tensorbot时 test = tf.tensordot(enc_op,tf.transpose(query_with_time_axis),axes=1) 我得到的输出形状如下 (2000, 30, 1, 2000) 但我必须保持身材(2000,30,1) 我这样做是为了注意力机制。 有人能帮我吗。试试使用 a=tf.transpose(a,perm=[0,2,1

我想做两个形状张量之间的点积 (2000, 1, 64) (2000, 30, 64) 当我使用以下代码在这两者之间执行tf.tensorbot时

test = tf.tensordot(enc_op,tf.transpose(query_with_time_axis),axes=1)
我得到的输出形状如下 (2000, 30, 1, 2000) 但我必须保持身材(2000,30,1)

我这样做是为了注意力机制。 有人能帮我吗。

试试使用

a=tf.transpose(a,perm=[0,2,1])
然后呢,

test=tf.matmul(b,a)
其中,
a
是第一个张量,
b
是第二个张量