【发布时间】:2021-05-25 06:57:00
【问题描述】:
在张量的特定维度上调用 unique_consecutive() 并用指定值填充左侧的最佳方法是什么?
为简单起见,我们可以使用 2D 张量作为示例:
input = tensor([[3, 3, 5, 5, 5],
[3, 3, 2, 2, 3]])
如果指定填充值-1,我希望得到的是:
output = tensor([[3, 5, -1, -1, -1],
[3, 2, 3, -1, -1]])
另外,为了节省内存,如果可能的话,我宁愿在原地这样做。 谢谢!
【问题讨论】:
-
torch.unique_consecutive(input, dim = 1)将产生一个具有以下内容的张量:[[3,5,5], [3,2,3]]。您是否希望删除最后一个5,或者这是您问题中的拼写错误? -
不,
[[3,5,5], [3,2,3]]不是预期结果,预期结果如上所示:在每一行上,相同的连续元素折叠成一个,例如 [3, 3, 5, 5, 5 ] 变为 [3, 5],然后用 -1 填充变为 [3, 5, -1, -1, -1]