У меня есть массив numpy размером 5000x32x32x3
. Число 5000 - это количество изображений, и каждое изображение равно 32x32
по ширине и высоте и имеет цветные каналы 3
.Измените матрицу в numpy
Теперь я хотел бы создать массив numpy формы 5000x3x32x32
таким образом, чтобы данные сохранялись. Что я имею в виду сохранения данных являются:
- Там должен быть 5000 точек данных в результирующем массиве
- 2-й размер (
3
) массива правильно определяет цветовой канал, т.е. всех элементов, второе измерение0
принадлежат к красному каналу, второе измерение которого равно1
, принадлежат к зеленому каналу, второе измерение которого2
принадлежит к синему каналу.
Простое изменение формы на np.reshape(data,(5000,3,32,32))
не будет работать, поскольку оно не сохранит каналы, а просто изменит данные в желаемую форму.
Вы смотрели в: 'numpy.swapaxes' https://docs.scipy.org/doc /numpy/reference/generated/numpy.swapaxes.html. Это должно быть выполнено двумя транспозициями осей. –
Фактически 'np.transpose (data, (0,3,1,2))' должен делать то, что вы хотите. –
@Learningisamess вы должны написать как ответ .. – Aaron