Свертка каждой строки двумерной матрицы с вектором - PullRequest
0 голосов
/ 23 января 2020

У меня есть матрица 1000000x1000 (MxN) A . У меня есть другой вектор b размера L. Мне нужно свернуть каждую строку 2D-матрицы A с вектором b . Как я могу сделать это в python?

Я пытался, C = np.convolve(A, b)

Но я получаю сообщение об ошибке

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

1 Ответ

1 голос
/ 23 января 2020

Попробуйте scipy's convolve2d

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

просто убедитесь, что len(b.shape) == 2 (имеется в виду, что это двумерный массив с одним измерением размера 1)

This будет работать, потому что фильтр b будет скользить по каждой строке A, давая новую строку в C, затем переходить к следующей строке, делая то же самое, создавая другую строку и т. д.

...