Я пытаюсь построить искусственную нейронную сеть, используя Keras. Вход модели имеет размеры (5, 5, 2), а выход имеет размеры (5,5). При запуске функции keras.fit () я сталкиваюсь со следующей ошибкой:
ValueError: Error when checking target: expected dense_3 to have 4 dimensions, but got array with shape (5, 5)
Вот код, который я выполняю
from keras.models import Sequential
from keras.layers import Dense, Flatten
import matplotlib.pyplot as plt
from keras.callbacks import EarlyStopping, ModelCheckpoint
model = Sequential()
model.add(Dense(1000, input_shape=(5, 5, 2), activation="relu"))
model.add(Dense(1000, activation="relu"))
model.add(Dense(2), output_shape=(5,5))
model.summary()
model.compile(optimizer="adam",loss="mse", metrics = ["mse"])
monitor_val_acc = EarlyStopping(monitor="loss", patience = 10)
history = model.fit(trainX, trainYbliss, epochs=1000, validation_data=(testX, testY), callbacks = [monitor_val_acc], verbose = 1)
clinical = model.predict(np.arange(0, len(testY)))
Вот архитектура сети:
Layer (type) Output Shape Param #
=================================================================
dense_1 (Dense) (None, 5, 5, 1000) 3000
_________________________________________________________________
dense_2 (Dense) (None, 5, 5, 1000) 1001000
_________________________________________________________________
dense_3 (Dense) (None, 5, 5, 1) 1001
=================================================================
Total params: 1,005,001
Trainable params: 1,005,001
Non-trainable params: 0
_________________________________________________________________
Модель должна выводить массив (5,5), основанный на массиве (5,5,2), но не работает на самом нижнем скрытом слое. Как мне решить эту проблему?