![](/img/trans.png)
[英]ValueError: Error when checking input: expected dense_1_input to have shape (24,) but got array with shape (1,)
[英]ValueError: Error when checking input: expected dense_1_input to have shape (180,) but got array with shape (1,)
我的學習模型如下(使用 Keras)。
model = Sequential()
model.add(Dense(100, activation='relu', input_shape = (X_train.shape[0],)))
model.add(Dense(500, activation='relu'))
model.add(Dense(2, activation='softmax'))
我的輸入數據 X_train 是一個形狀數組 (180,),相應的包含標簽的 y_train 也是一個形狀數組 (180,)。 我嘗試編譯和擬合模型如下。
model.compile(loss="sparse_categorical_crossentropy",
optimizer="adam",
metrics=['accuracy'])
model.fit(X_train, y_train, epochs = 200)
當我運行model.fit()時,我遇到了以下錯誤:
ValueError: Error when checking input: expected dense_1_input to have
shape (180,) but got array with shape (1,)
我不確定自己做錯了什么,因為我對深度學習還很陌生。 任何幫助表示贊賞。 謝謝。
在您的情況下,第一層中定義的 input_shape 應該是(1,)
:
X_train.shape[0]
是樣本數,每個樣本具有形狀(1,)
。
此外,您對 fit 函數的調用將不起作用,因為您的輸出具有形狀(2,)
( Dense(2)
) 而每個目標樣本的形狀是(1,)
(您有 180 個)。
正如@Thomas Schillaci 所寫,問題在於,如果您編寫X_train.shape[0]
您將考慮數據集的樣本數量。 但是在那一行代碼想知道你有多少特征,所以你必須改變X_train.shape[1]
以獲得輸入的 n°。 你有多少標簽?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.