Tensorflow:逐行迭代张量并执行元素乘法

2024-10-01 13:32:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个张量

x = shape(batchsize, 29, 64), 
y = shape(batchsize, 29, 29, 64)

我想在y上逐行迭代,并对x执行元素乘法,结果应该是一个形状(批大小,29,64)。在

如何按顺序编程:

^{pr2}$

我试了好几种方法tf.扫描, 地图, tf.while_循环. 然而,我不知道如何正确有效地完成它。在


Tags: 方法元素顺序tf编程地图形状shape
1条回答
网友
1楼 · 发布于 2024-10-01 13:32:14

如果我能正确理解您的问题,您可以对批处理中的每个示例,对y[batchnr]中的29个形状(29,64)矩阵进行元素相乘,然后与x相乘,也就是元素相乘。如果这是正确的,那么我想您可以使用tf.reduce_prod()。在

例如

# x = shape(batchsize, 29, 64), 
# y = shape(batchsize, 29, 29, 64)
# ...

z = tf.reduce_prod(y, axis=1)  # shape(batchsize, 29, 64), product of 29 matrices element-wise
r = tf.multiply(x, z)  # shape(batchsize, 29, 64)

相关问题 更多 >