让张量sudo
具有形状T
,我希望每个[B, N, N, 6]
将矩阵[b, N, N, 0:3]
乘以[b, N, N, 5]
元素。请注意,b in range(B)
不应更改。使用tensorflow的最佳方法是什么?
我的尝试:
[N, N, 4]
答案 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会将第二个参数广播到第三维的乘法。