使用tensordot获得意想不到的形状
Getting unexpected shape using tensordot
我正在尝试在两个形状张量之间做点积
(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
是第二个
我正在尝试在两个形状张量之间做点积 (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
是第二个