给出了形状(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>
甚至可能吗?
预先感谢
广播主要支持使用元素计算的操作。tf.matmul
不是元素操作,而是tf.multiply
是基于元素的。
此外,即使在支持广播的操作中,TensorFlow也可能会或可能不会自动广播,即使在支持广播的操作中。在这种情况下,您将必须手动这样做。
我写了另一个答案,该答案可自动广播,以用于高阶张量。