簡體   English   中英

ValueError:檢查輸入時出錯:預期dense_1_input具有形狀(180,)但得到形狀為(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM