Biorąc pod uwagę macierz 2D (M x N) i jądro 2D (K x L), w jaki sposób zwrócić macierz, która jest wynikiem maksimum lub średniej łączenie za pomocą danego jądra nad obrazem?jak wykonać maksymalne/średnie pulowanie na macierzy 2d używając numpy
Chciałbym użyć numpy, jeśli to możliwe.
Uwaga: M, N, K, L mogą być równe lub nieparzyste i nie muszą się wzajemnie idealnie dzielić, np. Macierz 7x5 i jądro 2x2.
np maksymalnego poolingu:
matrix:
array([[ 20, 200, -5, 23],
[ -13, 134, 119, 100],
[ 120, 32, 49, 25],
[-120, 12, 09, 23]])
kernel: 2 x 2
soln:
array([[ 200, 119],
[ 120, 49]])
'M, N = mat.shape' będzie bardziej przejrzysty. Powinieneś również zauważyć, że twoja odpowiedź działa nawet wtedy, gdy jądro nie dzieli źródła, ale odrzuca granice (i przynosi kopię). – Eric