Скажем, например, у меня есть двумерный вектор целых чисел, например:
0,1,4,7,3,7,3,7,7,2
3,6,3,1,7,9,2,8,3,6
1,4,9,3,5,8,3,2,8,5
2,5,8,4,9,3,2,9,0,1
3,6,3,1,7,9,2,8,3,6
1,4,9,3,5,8,3,2,8,5
, и я хочу получить другой двумерный вектор, который содержит значения от индекса 2 до 5 по горизонтали и индексы от 1 до 3 по вертикали я проиллюстрирую нужные мне значения с помощью '■'.
0,1,4,7,3,7,3,7,7,2
3,6,■,■,■,■,■,8,3,6
1,4,■,■,■,■,■,2,8,5
2,5,■,■,■,■,■,9,0,1
3,6,3,1,7,9,2,8,3,6
1,4,9,3,5,8,3,2,8,5
2D-вектор, который я хочу в этом случае:
3,1,7,9,2
9,3,5,8,3
8,4,9,3,2
Мне нужно, чтобы это было очень эффективно, так как я использование его в сверточной нейронной сети для получения области входного изображения, над которой в данный момент находится фильтр, и это необходимо будет делать тысячи раз. (в моем случае я буду использовать его для извлечения трехмерного вектора из другого трехмерного вектора, но я предполагаю, что его масштабирование не должно быть слишком сложным, и гораздо проще объяснить мою идею с использованием двумерных векторов)