在张量流中乘以张量的最佳方法是什么?

时间:2016-07-18 09:15:26

标签: tensorflow

假设我在图表中有张量x[i,j,k]y[p,q]。指定张量z[i,j,k,p,q] = x[i,j,k]y[p,q]的正确方法是什么?这是xy的{​​{3}}的坐标表示。我可以使用tf.expand_dimstf.multtf.tile的组合完成工作,但我觉得应该有更好的方法...

1 个答案:

答案 0 :(得分:3)

我认为你可以在没有使用广播的磁贴操作的情况下逃脱。

x_reshaped = tf.reshape(x, (i, j, k, 1, 1))
y_reshaped = tf.reshape(y, (1, 1, 1, p, q))
z = x_reshaped * y_reshaped

当尺寸大小为1且与其他张量尺寸的尺寸不匹配时,它将被沿着该尺寸自动复制/广播并执行产品。瓷砖通常是不必要的。我实际上并不认为我曾经在tensorflow中使用过tile。在这里我也使用了reshape而不是expand_dims,但结果是相同的。