评价此页

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, optional) – 递归计算差值的次数

  • dim (int, optional) – 计算差值的维度。默认为最后一个维度。

  • prepend (Tensor, optional) – 在沿 dim 计算差值之前,添加到 input 前面的值。其维度必须等同于 input,并且其形状必须匹配 input 的形状,除了 dim 维度。

  • append (Tensor, optional) – 在沿 dim 计算差值之前,添加到 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]])