Всех приветствую. Пытаюсь разобраться с керасом. У меня есть несколько изображений, сохраненных в формате .npy, а также их метки.
При обучении модели я получаю ошибку:
ValueError: Ошибка при проверке ввода: ожидалось, что dens_input имеет форму (135, 240), но получил массив с формой (240, 3)
Что очень странно, потому что форма представленного изображения:
(135, 240, 3)
Мой класс NeuralNetwork:
class NeuralNetwork():
def __init__(self):
self.model = keras.models.Sequential()
self.model.add(keras.layers.Dense(1024, input_shape=(135, 240), activation="relu"))
self.model.add(keras.layers.Dense(512, activation="relu"))
self.model.add(keras.layers.Dense(9, activation="softmax"))
opt = keras.optimizers.Adam()
self.model.compile(loss="categorical_crossentropy", optimizer=opt,
metrics=["accuracy"])
def FitModel(self, trainX, trainY):
self.model.fit(trainX, trainY, epochs=30)
def Predict(self, image):
predictions = self.model.predict(image)
choice = np.argmax(predictions[0])
return choice
И главное:
Data_Count = 7990
WIDTH = 240
HEIGHT = 135
nn = NeuralNetwork()
for i in range(1, DataCount+1):
file_name = 'D:/TrainingData/training_data-{}.npy'.format(i)
train_data = np.load(file_name)
image = np.array([i[0] for i in train_data])[0]
label = np.array([i[1] for i in train_data])[0]
image = image / 255
nn.FitModel(image, label)
Почему она получает только (240, 3) вместо (135, 240)?
Заранее спасибо за ответ!