index_put_

paddle. index_put_ ( x, indices, value, accumulate=False, name=None ) [源代码]

依据索引 indices ,将指定位置的 x 重新赋值为 value 。这里 indices 是一个 tuple of tensor

参数

  • x (Tensor)– 输入 Tensor。 x 的数据类型可以是 float16, float32,float64,int32,int64,bool。

  • indices (Tuple of Tensor)– 包含用来索引的 tensors 的元组。数据类型为 int32,int64,bool。

  • value (Tensor) – 用来给 x 赋值的 Tensor。

  • accumulate (Tensor,可选)– 指定是否将 value 加到 x 的参数。 默认值为 False。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

Tensor,返回一个数据类型同输入的 Tensor。

代码示例

import paddle

x = paddle.zeros([3, 3])
value = paddle.ones([3])
ix1 = paddle.to_tensor([0,1,2])
ix2 = paddle.to_tensor([1,2,1])
indices=(ix1,ix2)

out = paddle.index_put_(x,indices,value)
print(x)
# Tensor(shape=[3, 3], dtype=float32, place=Place(gpu:0), stop_gradient=True,
#        [[0., 1., 0.],
#         [0., 0., 1.],
#         [0., 1., 0.]])
print(out)
# Tensor(shape=[3, 3], dtype=float32, place=Place(gpu:0), stop_gradient=True,
#        [[0., 1., 0.],
#         [0., 0., 1.],
#         [0., 1., 0.]])