[英]Scipy fft backends possibilities
我正在寻找有关 fft 后端的文档。 它很短。 但我在 RalfGommers 幻灯片分享中发现了这一点:
我的问题是,可以测试哪些其他后端? 根据文档,PyFFTW 提供了一种方法,可以通过scipy.fft
用自己的函数替换 scipy.fft 中的许多函数,这些函数通常要pyfftw.interfaces
。 因为 PyFFTW 依赖于 GPL 许可的 FFTW,所以它不能包含在 SciPy 中。 对 FFT 例程速度至关重要的用户应考虑安装 PyFFTW。
因此,在发布说明和 GitHub SciPy 和 NumPy 问题之后,你们都默认采用了 pocketfft。 通过后端,我可以使用具有许可证限制的 fftw。 但是我还能用那个后端属性做什么呢? 我真的不明白我可以使用哪些字符串,或者哪些是这里评论的对象:
参数
backend: {object, 'scipy'} The backend to use. Can either be a str containing the name of a known backend {'scipy'}, or an object that implements the uarray protocol.
除了您已经知道的内容外,我在文档中找不到任何内容。 但我查看了 scipy.fft 模块中的 _backends.py :
_named_backends = {
'scipy': _ScipyBackend,
}
def _backend_from_arg(backend):
"""Maps strings to known backends and validates the backend"""
if isinstance(backend, str):
try:
backend = _named_backends[backend]
except KeyError:
raise ValueError('Unknown backend {}'.format(backend))
if backend.__ua_domain__ != 'numpy.scipy.fft':
raise ValueError('Backend does not implement "numpy.scipy.fft"')
return backend
看来我的安装只接受'scipy'。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.