jax.scipy.signal.correlate#
- jax.scipy.signal.correlate(in1, in2, mode='full', method='auto', precision=None)[源码]#
两个 N 维数组的互相关。
JAX 对
scipy.signal.correlate()的实现。- 参数:
in1 (Array) – 互相关的左侧输入。
in2 (Array) – 互相关的右侧输入。必须满足
in1.ndim == in2.ndim。mode (str) –
控制输出的大小。可用操作包括
"full": (默认) 输出输入的完整互相关。"same":返回"full"输出的居中部分,大小与in1相同。"valid": 返回"full"输出中不依赖于数组边缘填充的部分。
method (str) –
控制计算方法。选项包括
"auto": (默认)总是使用"direct"方法。"direct":直接调用jax.lax.conv_general_dilated()。"fft": 通过快速傅里叶变换计算结果。
precision (PrecisionLike) – 指定计算的精度。有关可用值的描述,请参阅
jax.lax.Precision。
- 返回:
包含互相关结果的数组。
- 返回类型:
另请参阅
jax.numpy.correlate(): 1D 互相关jax.scipy.signal.correlate2d(): 2D 互相关jax.scipy.signal.convolve(): ND 卷积
示例
一些 1D 互相关示例
>>> x = jnp.array([1, 2, 3, 2, 1]) >>> y = jnp.array([1, 3, 2])
完整的 1D 互相关在边缘使用隐式零填充
>>> jax.scipy.signal.correlate(x, y, mode='full') Array([ 2., 7., 13., 15., 11., 5., 1.], dtype=float32)
指定
mode = 'same'返回与第一个输入大小相同的居中 1D 互相关>>> jax.scipy.signal.correlate(x, y, mode='same') Array([ 7., 13., 15., 11., 5.], dtype=float32)
指定
mode = 'valid'只返回两个数组完全重叠的 1D 互相关部分>>> jax.scipy.signal.correlate(x, y, mode='valid') Array([13., 15., 11.], dtype=float32)