python-Theano中的逆FFT
作者:互联网
我知道theano.tensor.fourier.fft
is essentially numpy.fft.fft
.但是,我想知道是否实现了逆FFT?也就是说,是否存在类似于theano.tensor.fourier.ifft的东西,它等同于numpy.fft.ifft?
我注意到this有它,但是我不确定它做我想做的是多么完整或可靠.也许对Theano有更好了解的人可以在这里加油.
另外,如果我要使用此沙箱傅里叶,该如何做呢?只需调用theano.sandbox.fourier.fft(x)(其中x是一维张量),就会返回错误:
AttributeError: 'module' object has no attribute 'fourier'
有没有办法解决这个问题?
解决方法:
我无法评论代码的健壮性,但Theano总体上仍在开发中(版本0.7),并且此代码位于沙箱中,我认为应该比Theano的其余部分健壮得多.
显然,此FFT操作是不完整的,因为它目前无法计算梯度(请注意TODO注释).如果您需要渐变,那么抱歉,此操作将无济于事(也许您可以完成并提交增强功能?)
该实现只是numpy实现的一个填充,因此,如果numpy的实现足够完整且可靠,可以执行您想要的操作,那么Theano填充也是可能的.
请注意,由于这只是包装numpy,因此不会在GPU上运行,并且如果将此操作与其他启用GPU的操作混合并在GPU上运行,则由于数据向后复制和在主存储器和GPU存储器之间转发.
要使用此操作,请执行以下操作:
import theano
import theano.sandbox.fourier as tsf
tsf.ifft(frames=..., n=..., axis=...)
标签:fft,ifft,theano,python,numpy 来源: https://codeday.me/bug/20191119/2039216.html