Как изменить форму массива, связанного с данными изображения - PullRequest
0 голосов
/ 26 октября 2018

У меня 4554 изображения в моем массиве X_train, форма которого выглядит следующим образом.

print(np.shape(X_train))
(4554,) # TOtal numbe of images
X_train[0].shape
(120, 120, 4) # Each image is 120x120 with 4 channels.

Теперь я хочу преобразовать массив в (4554, 120, 120, 4), чтобы при печати

print(np.shape(X_train)

Это дает мне форму (4554, 120, 120, 4) вместо (4554,).

Я попробовал следующий метод изменения формы, но он выдает ошибку.

X_train=X_train.reshape((X_train.shape[0],X_train[0].shape))

Ошибка: TypeError: объект 'tuple' не может быть интерпретирован как целое число

1 Ответ

0 голосов
/ 26 октября 2018

Вы ищете метод numpy.stack ().

Если у вас есть список 3d матриц, вы можете создать 4d матрицу, например, так:

numpy.stack(your_list_of_training_data, axis=0)

См.документация здесь для объяснения: https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.stack.html

...