評價此頁

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