Numpy заполнение массива 4D медленно - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь дополнить 4-мерный массив. Этот массив является просто набором трехмерных массивов, например, его размер можно интерпретировать как (образцы, высота, ширина, глубина). Размер массива до заполнения равен (1682160, 21, 200, 3). Я хотел бы дополнить строки в этом массиве по 10 пикселей в каждую сторону, поэтому мой окончательный размер дополненного массива будет (1682160, 21, 220, 3). В настоящее время я использую функцию Numpy Pad следующим образом:

matrix = np.pad(matrix, ((0, 0), (0, 0), (10, 10), (0,0)), mode='reflect')

Я переписываю заполненный массив matrix в ту же переменную, так как это тип данных float16, размером примерно 40 ГБ. Запись в новую матрицу приводит к ошибке памяти. Время выполнения вышеуказанной команды составляет примерно 700 секунд.

Я хотел бы знать, есть ли более быстрый способ реализовать это в python, может быть, векторизованным способом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...