我有两个相同大小的二维张量(假设shape=[80,90])。 我想得到绝对值大于元素的变量的值。你知道吗
在python中,我会这样做:
mask = np.abs(a)>np.abs(b)
c = a*mask + b*~mask
如何在tensorflow中实现这一点,同时仍然能够计算梯度?你知道吗
我知道我能做到:
mask = tf.abs(a) > tf.abs(b)
但是后来:
c= tf.cast(mask, tf.float32) * a + tf.cast(~mask, tf.float32) * b
不通过渐变,因为强制转换操作不通过渐变。你知道吗
@冷冰冰的答案很管用。但如果您想要一个通用方法,可以基于随机掩码提取元素,那么可以使用^{} api。对于您的问题,答案如下:
使用np.最大值地址:
相关问题 更多 >
编程相关推荐