将二维矩阵的每一行与向量进行卷积

Convolving a each row of a 2D matrix with a vector

我有一个 1000000x1000 (MxN) 矩阵 A。我有另一个大小为 L 的向量 b。我需要将二维矩阵 A 的每一行与向量 b[ 进行卷积=22=]。我如何在 python 中执行此操作?

我试过了, C = np.convolve(A, b)

但我收到一条错误消息

in convolve return multiarray.correlate(a, v[::-1], mode)
ValueError: object too deep for desired array

尝试scipy's convolve2d

C = scipy.signal.convolve2d(A, b)

只要确保len(b.shape) == 2(意思是它是一个二维数组,一维大小为1)

这会起作用,因为 b 过滤器将滑过 A 的每一行,在 C 中产生一个新行,然后跨到下一行,做同样的事情,创建另一行等等。