最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
东港市| 甘南县| 蓝山县| 同江市| 长兴县| 全椒县| 岳普湖县| 大安市| 房山区| 济阳县| 伊宁县| 信阳市| 玛纳斯县| 陆良县| 朝阳县| 溧阳市| 封开县| 合作市| 松江区| 沙洋县| 黄龙县| 丰台区| 朝阳县| 怀仁县| 微山县| 土默特右旗| 芒康县| 长泰县| 天门市| 清远市| 万宁市| 吴江市| 涡阳县| 濮阳市| 定南县| 兖州市| 原阳县| 尤溪县| 通化市| 云阳县| 秭归县|