我有一個具有形狀X: (1146165, 19, 22)和 的數據集Y: (1146165,)。這是我的模型代碼:import tensorflow as tftrain_data = tf.data.Dataset.from_tensor_slices((x_train, y_train))valid_data = tf.data.Dataset.from_tensor_slices((x_valid, y_valid))def create_model(shape=(19, 22)): tfkl = tf.keras.layers model = tf.keras.Sequential([ tfkl.LSTM(128, return_sequences=True, input_shape=shape), tfkl.LSTM(64), tfkl.Dropout(0.3), tfkl.Dense(64, activation="linear"), tfkl.Dense(1) ]) model.compile(loss='mean_absolute_error', optimizer="adam") return modelmodel = create_model()model.summary()正如您所看到的input_shapeis (19, 22),這是正確的,但是當我使用時fit出現錯誤ValueError: Input 0 of layer sequential_15 is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: [19, 22],我在 Stack 上搜索了一些答案,但大多數是因為輸入維度是(a, b)而不是(a,b,c)。任何幫助表示贊賞。
1 回答

慕尼黑的夜晚無繁華
TA貢獻1864條經驗 獲得超6個贊
如果您想讓模型適合tf.data.Dataset
,則需要確保在 中使用它之前已對其進行批處理model.fit
。對于batch_size
您的選擇,請嘗試
train_data = train_data.batch(batch_size) model.fit(train_data)
添加回答
舉報
0/150
提交
取消