关于torch.scatter_ ,看了几篇博客没大看懂,自己手动调调终于搞懂了 2021-2-4 16:21:20
"""解析:
第0维表示 dst[index[i][j]][j] = x[i][j]
比如 dst[index[1][3]][3] = x[1][3]
即 dst[1][3] = x[1][3]=0.0943 # index[1][3]=1
再如 dst[index[1][4]][4] = x[1][4]
即 dst[2][4] = x[1][4]=0.0266 # index[1][4]=2
"""
x=torch.Tensor([[0.1940, 0.3340, 0.8184, 0.4269, 0.5945],
[0.2078, 0.5978, 0.0074, 0.0943, 0.0266]])
index=torch.tensor([[0, 1, 2, 0, 0], [2, 0, 0, 1, 2]])
dst=torch.zeros(3, 5)
dst.scatter_(0, index, x) # 0表示沿第0维进行修改
>>>dst:tensor([[0.1940, 0.5978, 0.0074, 0.4269, 0.5945],
[0.0000, 0.3340, 0.0000, 0.0943, 0.0000],
[0.2078, 0.0000, 0.8184, 0.0000, 0.0266]])
关于torch.scatter_
最新推荐文章于 2024-03-01 01:26:17 发布