将tensor updates中的值按指定的轴axis和索引indices更新tensor data中的值,并将结果保存到输出tensor,data本身的数据被改变。
scatter_update_(Tensor(a!) data, Tensor indices, Tensor updates, int axis) -> Tensor(a!)
out:Device侧的Tensor类型,计算输出,复用输入地址;数据类型支持INT8、FLOAT16、FLOAT32、BFLOAT16类型;out只支持2-8维,且维度大小需要与data一致;支持非连续的tensor;数据格式支持ND;不支持空Tensor。
import torch import torch_npu import numpy as np data = torch.tensor([[[[1,1,1,1,1,1,1,1],[2,2,2,2,2,2,2,2]]]], dtype=torch.float32).npu() indices = torch.tensor ([1],dtype=torch.int64).npu() updates = torch.tensor([[[[3,3,3,3,3,3,3,3]]]] , dtype=torch.float32).npu() out = torch_npu.scatter_update_(data, indices, updates, axis=-2)