gpt4 book ai didi

python - pytorch 在张量的某个维度上调用 unique_consecutive() 的最佳方法?

转载 作者:行者123 更新时间:2023-12-05 06:50:48 25 4
gpt4 key购买 nike

在张量的特定维度上调用 unique_consecutive() 并用指定​​值填充剩余部分的最佳方法是什么?为简单起见,我们可以使用 2D 张量作为示例:

input = tensor([[3, 3, 5, 5, 5],
[3, 3, 2, 2, 3]])

如果指定padding值为-1,我希望得到的是:

output = tensor([[3, 5, -1, -1, -1],
[3, 2, 3, -1, -1]])

此外,为了节省内存,如果可能的话,我更愿意就地这样做。谢谢!

最佳答案

从 PyTorch 论坛找到了一个不错的解决方案 https://discuss.pytorch.org/t/best-way-to-run-unique-consecutive-on-certain-dimension/112662 ,此处引用以供快速引用。


x = tensor([[3, 3, 5, 5, 5],
[3, 3, 2, 2, 3]])
unique_x, indices = torch.unique_consecutive(x, return_inverse=True)
indices -= indices.min(dim=1, keepdims=True)[0]
result = -torch.ones_like(x)
result = result.scatter_(1, indices, x)

关于python - pytorch 在张量的某个维度上调用 unique_consecutive() 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66325767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com