簡體   English   中英

ValueError:“順序”層的輸入 0 與該層不兼容:預期形狀 =(None, 455, 30),找到的形狀 =(None, 30)

[英]ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 455, 30), found shape=(None, 30)

這里是Cancer detection的小項目,里面已經有了數據集和colab代碼,但是我執行的時候報錯

model.fit(x_train, y_train, epochs=1000)

錯誤是:

ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 455, 30), found shape=(None, 30)

看評論其他人也有這個問題

Tensorflow model 期望輸入的第一個維度是批量大小,在 model 聲明中,它們將輸入形狀設置為與輸入相同的形狀。 要解決此問題,您可以將 model 的輸入形狀更改為數據集中的特征數。

model.add(tf.keras.layers.Dense(256, input_shape=(x_train.shape[1],), activation='sigmoid'))

.csv 文件中的行數將是數據集中的樣本數。 由於您不使用批處理,因此 model 將在每個時期一次評估整個數據集

我嘗試了上面的解決方案:

model.add(tf.keras.layers.Dense(256,input_shape(x_train.shape[1],), activation='sigmoid'))

但同樣的問題發生了,所以我嘗試按照下面的代碼分別定義 model 的 inpute_shape 並且它有效希望這對你有幫助:

model.add(tf.keras.Input(shape=(x_train.shape[1],))) model.add(tf.keras.layers.Dense(128, activation='sigmoid')) model.add(tf.keras.layers.Dense(256, activation='sigmoid')) model.add(tf.keras.layers.Dense(1, activation='sigmoid'))

Args input_shape 形狀元組(不包括批軸),或 TensorShape 實例(不包括批軸)。 根據 keras 的文檔,輸入形狀確實包括批處理軸,因此請嘗試提供 input_shape=(30,) 而不是 input_shape=(455,30)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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