无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

解決Pytorch傅里葉變換新舊版本如何互相替換的問題(torch.rfft與torch.fft.fft2)

2023-08-25 13:15 作者:小xu在岸上等大家  | 我要投稿

? ? 目前主要是對torch.rffttorch.fft.fft2進(jìn)行相互替換,torch.rfft適合于torch1.7及其之前的版本,torch.fft.fft2適合于1.7之后的版本


  • #(batch, c, h, w) → rfft → (batch, c, h, w/2+1, 2)

ffted = torch.rfft(x, signal_ndim=2, normalized=True)#torch1.7及之前版本

  • #(batch, c, h, w) →fft.rfft2→(batch, c, h, w//2+1)→stack→(batch, c, h, w/2+1, 2)

ffted = torch.fft.rfft2(x, dim=(-2, -1), norm="ortho")#torch1.7之后版本
ffted = torch.stack((ffted.real, ffted.imag), -1)

逆變換:

  • #?(batch,c, t, h, w/2+1, 2)→.irfft→(batch,c, t, h, w)

output = torch.irfft(ffted, signal_ndim=2,
? ? ?? ? ? ? ? ? ? ? ?signal_sizes=r_size[2:], normalized=True)#torch.1,7之前

  • #?(batch,c, t, h, w//2+1, 2)→complex_tensor:(batch,c, t, h, w//2+1)→fft.irfft2→(batch,c, t, h,?w)

real_part = ffted[..., 0]
imaginary_part = ffted[..., 1]
# 沿著最后一個維度進(jìn)行疊加
complex_tensor = real_part + 1j * imaginary_part
output = torch.fft.irfft2(complex_tensor, dim=(-2, -1), s=r_size[2:], norm="ortho")

  • #(1,3,6,6)?→?rfft?→?(1,3,6,4,2)

ffted =?torch.rfft(x, signal_ndim=2, normalized=True)#torch1.7及之前版本

x的樣子為:

(1,3,6,6)

其輸出ffted的樣子為:圖上下僅(1,1,6,4,2),還有兩個矩陣一致,沒有畫出了

(1,3,6,4,2)上
(1,3,6,4,2)
(1,3,6,4,2)下
  • #(1,3,6,6) →fft.rfft2→(1,3,6,4)→stack→(1,3,6,4,2)

ffted = torch.fft.rfft2(x, dim=(-2, -1), norm="ortho")#torch1.7之后版本
ffted = torch.stack((ffted.real, ffted.imag), -1)

經(jīng)過?torch.fft.rfft2之后的結(jié)果:

(1,3,6,4)

經(jīng)過stack之后的結(jié)果:

如有不足還請指正,歡迎分享

解決Pytorch傅里葉變換新舊版本如何互相替換的問題(torch.rfft與torch.fft.fft2)的評論 (共 條)

分享到微博請遵守國家法律
安图县| 横山县| 饶平县| 启东市| 民权县| 五家渠市| 淳安县| 比如县| 藁城市| 平乡县| 万全县| 临潭县| 桂林市| 伊通| 理塘县| 洪江市| 肇源县| 宣威市| 桐乡市| 沙雅县| 商丘市| 吉木萨尔县| 罗田县| 和平区| 固始县| 元朗区| 伊川县| 波密县| 伊金霍洛旗| 陵水| 虞城县| 阿图什市| 西丰县| 洪洞县| 松潘县| 红河县| 获嘉县| 资阳市| 菏泽市| 唐山市| 老河口市|