Python 中的 3D 数组与 1D 内核的卷积
Convolution of 3D array with 1D kernel in Python
是否可以将一维数组与三维数组进行卷积?例如:
A 是我想要进行卷积的 8x2x2 矩阵。假设 A 有 2x2 个子矩阵 (A = A7 A6 A5... A0) 每个子矩阵都是 2x2。 B 是包含标量权重 (B0 B1 B2 B3 B4) 的 5x1 数组。我想要做的是将 B 数组与 A 数组的第一维进行卷积,在本例中为 8。我知道 numpy.convolve 可用,但它不支持多维。澄清我的例子:Convolution example
使用:
arr_out = np.apply_along_axis(
lambda x: np.convolve(x, B.flatten(), mode = 'same'),
axis = 0, arr = A)
是否可以将一维数组与三维数组进行卷积?例如:
A 是我想要进行卷积的 8x2x2 矩阵。假设 A 有 2x2 个子矩阵 (A = A7 A6 A5... A0) 每个子矩阵都是 2x2。 B 是包含标量权重 (B0 B1 B2 B3 B4) 的 5x1 数组。我想要做的是将 B 数组与 A 数组的第一维进行卷积,在本例中为 8。我知道 numpy.convolve 可用,但它不支持多维。澄清我的例子:Convolution example
使用:
arr_out = np.apply_along_axis(
lambda x: np.convolve(x, B.flatten(), mode = 'same'),
axis = 0, arr = A)