![](/img/trans.png)
[英]Tensorflow: Iterate row-wise, elementwise multiplication, reduce-sum. Custom convolution
[英]Tensorflow: Iterate tensor row-wise and perform elementwise multiplication
我有两个张量
x = shape(batchsize, 29, 64),
y = shape(batchsize, 29, 29, 64)
我想在y上逐行进行迭代,并与x进行元素逐次乘法,结果应为某种形状(批量大小为29、64)。
我如何依次编程:
for batchnr in range(x.shape[0]):
for elem in y[batchnr]:
x[batchnr] = tf.multiply(x[batchnr], elem)
我使用tf.scan,tf.map_fn,tf.while_loop尝试了几件事。 但是,我不知道如何正确有效地做到这一点。
如果我正确理解了您的问题,那么对于一个批次中的每个示例,您都希望分别在y[batchnr]
29个形状为( y[batchnr]
)的矩阵分别乘以y[batchnr]
,然后分别乘以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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.