Numpy 索引赋值的 Tensorflow 等价物

Tensorflow equivalent for Numpy indexed assignment

Tensorflow 中的伪 (*) 等价物是什么?

array[array < 50] = 0 # numpy

我想应该是这样的:

array = tf.something(array, ...) # or array2 = ...
# OR
array = array.something(...) # or array2 = ...

(*) 我不会假装保持数组可变,也不会在此时执行它,因为我会是一个张量。

也许另一种问这个问题的方法是:将 tf.cond() 的条件张量数组根据 tf.less() 应用于数字数组的代码如何?

你可以做到

tf.select(array < 50, tf.zeros_like(array), array)

这将 return 相当于 array 将包含在 array[array < 50] = 0 之后的表达式。如果 array 是一个 TensorFlow 变量,您可以使用 tf.assign 将上述表达式分配给 array.