代码之家  ›  专栏  ›  技术社区  ›  J-Win

如何使用PyFFTW的wisom

  •  0
  • J-Win  · 技术社区  · 7 年前

    我在pyfftw的文档中没有看到关于如何使用“wisdom”特性的实际示例,所以我有点困惑。

    # first FFT
    input = pyfftw.zeros_aligned(arraySize, dtype='complex64')
    input[:] = image
    fftwObj = pyfftw.builders.fft2(input, planner_effort='FFTW_EXHAUSTIVE')
    imageFFT = fftwObj(input)
    
    wisdom = pyfftw.export_wisdom()
    
    pyfftw.import_wisdom(wisdom)
    
    # second FFT with the same input size but different input
    input = pyfftw.zeros_aligned(arraySize, dtype='complex64')
    input[:] = image2
    fftwObj = pyfftw.builders.fft2(input, planner_effort='FFTW_EXHAUSTIVE')
    imageFFT2 = fftwObj(input)
    

    这个 docs 说吧 export_wisdom 输出字符串的元组 import_wisdom 将此元组作为参数。

    我应该什么时候导出智慧,我应该为每个FFT将这个元组保存到一个文件中?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Henry Gomersall    7 年前

    基本上,导出和导入智慧是一种在会话之间保持状态的方法。

    智慧是关于如何最好地规划快速傅立叶变换的知识。在会话期间,内部“智慧”由所有制定的计划和导入的智慧组成。重复导入同一个WITH文件是没有用的,因为在第一次导入后,这些知识已经知道了。