torch.diff

torch.diff(input, n=1, dim=-1, prepend=None, append=None) Tensor

沿给定维度计算第n个前向差分。

一阶差分为out[i] = input[i + 1] - input[i]。更高阶的差分是通过递归使用torch.diff()计算得出。

参数
  • input (Tensor) – 计算差异的输入张量

  • n (int, 可选) – 用于指定递归计算差值的次数

  • dim (int, optional) – 指定计算差值的维度。默认情况下,该维度为最后一个。

  • prepend (Tensor, 可选) – 在计算差值之前沿dim添加到input前面的值。这些值的维度必须与输入张量相同,并且除了在dim上以外,其形状必须与输入张量一致。

  • append (Tensor, optional) – 要追加到 input 的值,以便在计算差值之前使用。这些值的维度必须与输入张量相同,并且除了dim之外的所有维度都必须与输入张量的形状相匹配。

关键字参数

out (Tensor, 可选) – 指定输出张量。

示例:

>>> a = torch.tensor([1, 3, 2])
>>> torch.diff(a)
tensor([ 2, -1])
>>> b = torch.tensor([4, 5])
>>> torch.diff(a, append=b)
tensor([ 2, -1,  2,  1])
>>> c = torch.tensor([[1, 2, 3], [3, 4, 5]])
>>> torch.diff(c, dim=0)
tensor([[2, 2, 2]])
>>> torch.diff(c, dim=1)
tensor([[1, 1],
        [1, 1]])
本页目录