cupyx.scipy.signal.convolve#
- cupyx.scipy.signal.convolve(in1, in2, mode='full', method='auto')[source]#
对两个 N 维数组进行卷积。
对
in1
和in2
进行卷积,输出尺寸由mode
参数确定。- 参数:
in1 (cupy.ndarray) – 第一个输入。
in2 (cupy.ndarray) – 第二个输入。应与 in1 具有相同的维度数。
mode (str) –
指示输出的大小
'full'
: 输出是完整的离散线性卷积(默认)'valid'
: 输出仅包含不依赖零填充的元素。in1
或in2
必须在每个维度上至少与其他数组一样大。'same'
: - 输出尺寸与in1
相同,相对于'full'
输出居中
method (str) –
指示用于计算的方法
'direct'
: 卷积直接从求和计算,即卷积的定义'fft'
: 使用傅里叶变换通过调用fftconvolve
执行卷积。'auto'
: 根据参数估计哪种方法更快,自动选择直接计算或 FFT 方法(默认)。
- 返回:
卷积结果。
- 返回类型:
另请参阅
cupyx.scipy.signal.correlation()
注意
默认情况下,
convolve
和correlate
使用method='auto'
,它会调用choose_conv_method
使用预计算的值来选择最快的方法。给定相同的输入,CuPy 选择的卷积计算方法可能与 SciPy 不同。