给定形状张量(A, B, C, D, E)
和张量形状(A, B, E)
,我想通过自动广播第二张量进行批量乘法,这样:
In [1]: X = tf.placeholder(dtype=tf.float32, shape=[A, B, C, D, E])
In [2]: Y = tf.placeholder(dtype=tf.float32, shape=[A, B, E])
In [3]: # DO SOMETHING LIKE tf.matmul(X, Y)
Out[3]: <tf.Tensor 'MatMul_1:0' shape=(A, B, C, D) dtype=float64>
甚至可能吗?
提前致谢
答案 0 :(得分:-1)
广播主要支持那些使用逐元素计算的操作。 tf.matmul
不是按元素操作,但tf.multiply
是基于元素的。
此外,即使在支持广播的那些操作中,Tensorflow也可能会或可能不会为更高阶的张量进行自动广播。在这些情况下,您将手动执行此操作。
我写了another answer,为更高阶的张量进行自动广播。