将二维矩阵的每一行与向量进行卷积
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
C = scipy.signal.convolve2d(A, b)
只要确保len(b.shape) == 2
(意思是它是一个二维数组,一维大小为1)
这会起作用,因为 b
过滤器将滑过 A
的每一行,在 C 中产生一个新行,然后跨到下一行,做同样的事情,创建另一行等等。
我有一个 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
C = scipy.signal.convolve2d(A, b)
只要确保len(b.shape) == 2
(意思是它是一个二维数组,一维大小为1)
这会起作用,因为 b
过滤器将滑过 A
的每一行,在 C 中产生一个新行,然后跨到下一行,做同样的事情,创建另一行等等。