跨维度的张量流倍增

时间:2016-06-10 14:29:49

标签: python tensorflow

让张量sudo具有形状T,我希望每个[B, N, N, 6]将矩阵[b, N, N, 0:3]乘以[b, N, N, 5]元素。请注意,b in range(B)不应更改。使用tensorflow的最佳方法是什么?

我的尝试:

[N, N, 4]

1 个答案:

答案 0 :(得分:1)

在TensorFlow中,通常不可能通过分配切片来构建张量值。编程模型往往比命令式更具功能性。实现计算的一种方法如下:

result = tf.concat(3, [tf.mul(T[:, :, :, 0:4], T[:, :, :, 5:6]), T[:, :, :, 4:5]])

请注意,您不需要多次乘法,因为(i)原始计算在第0维(for b in range(B))已经是元素方式,而(ii)TensorFlow会将第二个参数广播到第三维的乘法。