cupyx.scipy.signal.convolve#

cupyx.scipy.signal.convolve(in1, in2, mode='full', method='auto')[source]#

对两个 N 维数组进行卷积。

in1in2 进行卷积,输出尺寸由 mode 参数确定。

参数:
  • in1 (cupy.ndarray) – 第一个输入。

  • in2 (cupy.ndarray) – 第二个输入。应与 in1 具有相同的维度数。

  • mode (str) –

    指示输出的大小

    • 'full': 输出是完整的离散线性卷积(默认)

    • 'valid': 输出仅包含不依赖零填充的元素。 in1in2 必须在每个维度上至少与其他数组一样大。

    • 'same': - 输出尺寸与 in1 相同,相对于 'full' 输出居中

  • method (str) –

    指示用于计算的方法

    • 'direct': 卷积直接从求和计算,即卷积的定义

    • 'fft': 使用傅里叶变换通过调用 fftconvolve 执行卷积。

    • 'auto': 根据参数估计哪种方法更快,自动选择直接计算或 FFT 方法(默认)。

返回:

卷积结果。

返回类型:

cupy.ndarray

另请参阅

cupyx.scipy.signal.correlation()

注意

默认情况下,convolvecorrelate 使用 method='auto',它会调用 choose_conv_method 使用预计算的值来选择最快的方法。给定相同的输入,CuPy 选择的卷积计算方法可能与 SciPy 不同。