我正在嘗試使用 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 Sequentialfrom keras.layers import Dense, Flattenimport matplotlib.pyplot as pltfrom keras.callbacks import EarlyStopping, ModelCheckpointmodel = 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,001Trainable params: 1,005,001Non-trainable params: 0_________________________________________________________________模型應該基于 (5,5,2) 數組輸出 (5,5) 數組,但在最低隱藏層失敗。我該如何解決這個問題?
2 回答

開滿天機
TA貢獻1786條經驗 獲得超13個贊
使用下面的代碼作為參考根據您的輸入值更改值:
train_data = train_data.reshape(train_data.shape[0], 10, 30, 30, 1)
對于您的輸入火車數據,

慕尼黑8549860
TA貢獻1818條經驗 獲得超11個贊
您的網絡將輸出一個 shape 的張量(batch_size, 5, 5, 1)
。您的輸出是 4 維張量嗎?如果它是一個單一的價值,(5,5)
你需要將它重塑成(1,5,5,1)
我認為
添加回答
舉報
0/150
提交
取消