當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch ifftn用法及代碼示例


本文簡要介紹python語言中 torch.fft.ifftn 的用法。

用法:

torch.fft.ifftn(input, s=None, dim=None, norm=None, *, out=None) → Tensor

參數

  • input(Tensor) -輸入張量

  • s(元組[int],可選的) -轉換維度中的信號大小。如果給定,每個維度 dim[i] 將在計算 IFFT 之前補零或修剪到長度 s[i]。如果指定了長度-1,則在該維度中不進行填充。默認值:s = [input.size(d) for d in dim]

  • dim(元組[int],可選的) -要轉換的維度。默認值:所有維度,或者如果給出s,則為最後一個len(s) 維度。

  • norm(str,可選的) -

    標準化模式。對於後向變換(ifftn()),這些對應於:

    • "forward" - 沒有標準化

    • "backward" - 通過 1/n 標準化

    • "ortho" - 通過1/sqrt(n) 標準化(使IFFT正交化)

    其中n = prod(s) 是邏輯 IFFT 大小。使用相同的歸一化模式調用正向變換 ( fftn() ) 將在兩個變換之間應用 1/n 的整體歸一化。這是使 ifftn() 精確反轉所必需的。

    默認值為 "backward" (由 1/n 標準化)。

關鍵字參數

out(Tensor,可選的) -輸出張量。

計算 input 的 N 維離散傅裏葉逆變換。

示例

>>> x = torch.rand(10, 10, dtype=torch.complex64)
>>> ifftn = torch.fft.ifftn(x)

離散傅裏葉變換是可分離的,因此這裏的ifftn()相當於兩個一維的 ifft() 調用:

>>> two_iffts = torch.fft.ifft(torch.fft.ifft(x, dim=0), dim=1)
>>> torch.testing.assert_close(ifftn, two_iffts, check_stride=False)

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.fft.ifftn。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。