为了解决这个bug 首先我去查看了一下官方关于这个函数的描述
https://pytorch.org/docs/stable/generated/torch.Tensor.put_.html
函数参数一共有3个
index (LongTensor) – the indices into self
source (Tensor) – the tensor containing values to copy from
accumulate (bool) – whether to accumulate into self
官方给出的例子如下:
src = torch.tensor([[4, 3, 5],
[6, 7, 8]])
src.put_(torch.tensor([1, 3]), torch.tensor([9, 10]))
return :
tensor([[ 4, 9, 5],
[ 10, 7, 8]])
例子中:index 它给出了 [1,3] ,source 给出了 [9,10]
我们看src数组中 索引为1的数字为3 索引为3的数字为6
这个函数的作用就是将索引为1的数字为3替换为9 将索引为3的数字替换为6
弄明白这个我打印了索引数组的最后一位 发现某些情况下会导致索引数组的元素超过 VOX变量的总数组索引 导致索引越界