Почему keras не принимает данные?
Есть массив NumPy с 300 изображениями, каждое изображение представляет собой одномерный массив из 3145728 элементов, и при попытке обучить модель на этих данных:
model.fit(data, features, batch_size=64, epochs=3)
Возникает следующая ошибка:
ValueError: Error when checking input: expected conv2d_input to have 4 dimensions, but got array with shape (300, 1)
Как мне переделать массив данных, чтобы keras его принял?
Ответы (1 шт):
Судя по названию слоя: conv2d_input - это слой двумерной свертки Conv2D, который ожидает на вход 4х-мерный тензор с размерностями:
4+D tensor with shape:
batch_shape + (channels, rows, cols)ifdata_format='channels_first'
или
4+D tensor with shape:
batch_shape + (rows, cols, channels)ifdata_format='channels_last'
Поэтому либо вы будете подавать на вход тензор правильной размерности, либо вам придется изменить архитектуру НС (Нейронной Сети) таким образом, чтобы она могла работать с картинками "выпрямленными" в вектора.