gpt4 book ai didi

python - pytorch 张量改变维度来计算相邻值

转载 作者:行者123 更新时间:2023-12-05 04:29:23 25 4
gpt4 key购买 nike

我的目标是计算张量 x 的所有相邻唯一值。
假设我的张量是(x 看起来像一个列表,但它是一个 pytorch 张量)

x = [1,2,1,2,4,5]

我希望我的输出是:

[1,2] = 2
[2,1] = 1
[2,4] = 1
[4,5] = 1

我考虑过将张量的维数更改为:

x = [[1,2],[2,1],[1,2],[2,4],[4,5]]

使用 tensor.view 但找不到适用于任何长度张量的解决方案。如果这是最好的方法,有什么想法吗?是否有一些内置功能?

最佳答案

作为@ihdv显示,您可以使用 torch.stack 堆叠 x 的移位 View 或 torch.vstack为了获得具有重叠窗口的张量对。

>>> p = torch.vstack((x[:-1], x[1:]))
tensor([[1., 2., 1., 2., 4.],
[2., 1., 2., 4., 5.]])

然后就可以申请了torch.unique在上面获取统计信息:

>>> p.unique(dim=1, return_counts=True)
(tensor([[1., 2., 2., 4.],
[2., 1., 4., 5.]]), tensor([2, 1, 1, 1]))

关于python - pytorch 张量改变维度来计算相邻值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72327447/

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