Изменение размера массива

#python #arrays #multidimensional-array

Вопрос:

У меня есть массив измерений (300, 2, 17, 80), который представляет собой 300 выборок из 2 изображений размера (17,80). Я хотел бы изменить форму массива, чтобы он подавал мой CNN, например (300, 17, 80, 2). Как я могу это сделать ? Спасибо за поддержку.

Комментарии:

1. numpy.swapaxes()

Ответ №1:

Для этой цели вы можете использовать np.moveaxis. Например,

 import numpy as np
M = np.zeros((300,2,17,80))
print(M.shape)
M = np.moveaxis(M, 1, -1)
print(M.shape)
 

np.moveaxis(M, 1, -1) Вызов перемещает вторую ось с индексом оси=1 в последнюю позицию, используя индекс оси=-1.