Код Middle Свёрточные сети обновлено

Свёртка 2D на списках

Условие

Напишите conv2d(img, kernel, stride, padding): одноканальная свёртка (в смысле глубокого обучения, то есть кросс-корреляция без переворота ядра) с нулевым padding. Верните матрицу результата, значения округлены до 4 знаков.

Примеры

conv2d([[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 0], [0, -1]], 1, 0) // [[-4, -4], [-4, -4]]
conv2d([[1, 2], [3, 4]], [[1]], 1, 1) // [[0, 0, 0, 0], [0, 1, 2, 0], [0, 3, 4, 0], [0, 0, 0, 0]]
conv2d([[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]], [[1, 1], [1, 1]], 2, 0) // [[4, 4], [4, 4]]

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.