繁体   English   中英

Scipy fft 后端可能性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM