将值分配给满足Tensorflow中条件的张量字段

时间:2018-05-20 15:01:19

标签: python numpy tensorflow

让我用numpy中的例子介绍问题:

arr  - some numpy array
a, b - constants
arr[arr < a] = b

现在,我想实现相同的功能,但在Tensorflow中,arr将是一个张量。运行前不知道张量值。

正如您所看到的,答案将澄清为张量内的特定位置分配值,以及对张量进行调节并检索满足条件的指数。

1 个答案:

答案 0 :(得分:1)

如@ xdurch0所述,tf.where()有适当的条件和广播应该可以解决问题:

b_broadcast = tf.ones(tf.shape(arr), dtype=arr.dtype) * b
arr = tf.where(tf.less(arr, a), b_broadcast, arr)