评价此页

torch.diff#

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

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

一阶差分由 out[i] = input[i + 1] - input[i] 给出。高阶差分通过递归调用 torch.diff() 来计算。

参数
  • inputTensor)– 用于计算差分的张量

  • nint, 可选)– 递归计算差分的次数

  • dimint, 可选)– 计算差分的维度。默认为最后一个维度。

  • prependTensor, 可选)– 在计算差分之前,沿 dim 维度添加到 input 的值,或者从 input 预置或附加的值。它们必须与 input 具有相同的维度,并且形状必须与 input 的形状匹配,除了 dim 维度。

  • appendTensor, 可选)– 在计算差分之前,沿 dim 维度添加到 input 的值,或者从 input 预置或附加的值。它们必须与 input 具有相同的维度,并且形状必须与 input 的形状匹配,除了 dim 维度。

关键字参数

out (Tensor, optional) – 输出张量。

示例

>>> 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]])