1.7版本之前对(256,256)矩阵做傅里叶变换
a = torch.randn(256,256)
torch.save(a, "./a.pt")
image = torch.zeros(2,256,256)
image[0] = a
image[1] = image[1] -1
image = image.permute(1,2,0)
b = torch.fft(image,2)
c = b.permute(2,0,1)
torch.save(c,'./c.pt')
1.7版本之后做傅里叶变换
a = torch.load('../a.pt')
c = torch.load('../c.pt')
b = torch.fft.fft2(a)
b1 = b.real
b2 = b.imag
通过比较b1与c[0,:,:]的值以及b2与c[1:,:]的值可以看出1.7版本之前的torch.fft是不能存储复值数据,用两通道数据来分别存储实部与虚部。