jax.scipy.signal.fftconvolve#
- jax.scipy.signal.fftconvolve(in1, in2, mode='full', axes=None)[source]#
使用快速傅里叶变换 (FFT) 对两个 N 维数组进行卷积。
JAX 实现
scipy.signal.fftconvolve()
.- 参数::
- 返回:
包含卷积结果的数组。
- 返回类型:
另请参见
jax.numpy.convolve()
: 一维卷积
示例
一些一维卷积示例。由于基于 FFT 的卷积是近似的,我们在下面使用
jax.numpy.printoptions()
来调整打印精度>>> x = jnp.array([1, 2, 3, 2, 1]) >>> y = jnp.array([1, 1, 1])
完全卷积在边缘使用隐式零填充
>>> with jax.numpy.printoptions(precision=3): ... print(jax.scipy.signal.fftconvolve(x, y, mode='full')) [1. 3. 6. 7. 6. 3. 1.]
指定
mode = 'same'
返回与第一个输入大小相同的居中卷积>>> with jax.numpy.printoptions(precision=3): ... print(jax.scipy.signal.fftconvolve(x, y, mode='same')) [3. 6. 7. 6. 3.]
指定
mode = 'valid'
仅返回两个数组完全重叠的部分>>> with jax.numpy.printoptions(precision=3): ... print(jax.scipy.signal.fftconvolve(x, y, mode='valid')) [6. 7. 6.]