我正在構建一個用于二元分類的 CNN 1D 模型,我使用的檔案是 csv 檔案我該如何解決這種錯誤?....提前致謝
這是我的代碼: 在此處 輸入影像描述 在此處輸入影像描述
錯誤是:ValueError: Input 0 of layer "max_pooling1d" is incompatible with the layer: expected ndim=3, found ndim=4. 收到完整形狀:(無、51644、29、32) 在此處輸入影像描述
uj5u.com熱心網友回復:
您的資料是 2D(類似圖片),而您正在嘗試使用接受 1D 物件(序列)的模型。您要么需要使用接受您要使用的資料型別的模型,要么需要轉換資料以適合您的模型。
uj5u.com熱心網友回復:
更改input_shape從(train_shape[0], train_shape[1], 1)到(train_shape[1], 1)。在使用時Conv1D,假設您正在處理序列資料。所以在這種情況下train_shape[0]是batch_size,train_shape[1]是number of time-steps即,sequence length最后一個1是number of features每個時間戳中的。
重要的是,keras不需要您輸入batch_size,它被自動默認為None并且輸入形狀(None, train_shape[1], 1)自動變為,因此它可以與任何批量大小一起使用,因此無需輸入第一維。但是如果你想batch size自己輸入,那么使用batch_input_shape代替input_shape。
也可以softmax在輸出層使用function 而不是sigmoid,因為輸出層中有多個神經元。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/372840.html
上一篇:在Tensorflow2.7.0中用什么代替predict_classes()?
下一篇:轉換層,沒有為任何變數提供梯度
