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