Tensorflow相当于Numpy的数组[indices] =标量

时间:2017-03-20 18:55:47

标签: indexing tensorflow

我有张量和相同等级的索引张量。我想将与索引张量中的索引相对应的张量值设置为某个标量。我该怎么做?

换句话说,我正在寻找以下Numpy操作的Tensorflow等价物:

array[indices] = scalar

在我的具体案例中,我们谈论的是一维张量:

mask = tf.zeros_like(some_1D_tensor)

(e.g. mask = [0, 0, 0, 0, 0])

indices成为包含mask索引的1D张量,我想将其设置为标量值1.所以我想:

mask[indices] = 1

(e.g. for indices = [1, 3] the output should be mask == [0, 1, 0, 1, 0])

1 个答案:

答案 0 :(得分:2)

我不知道它之前是否存在,或者我是否还没有看到它,但是一般情况相当于

array[indices] = scalar

tensor = tf.scatter_nd_update(tensor, indices, updates)

使用tf.scatter_nd_update()