我有一個(gè)具有形狀X: (1146165, 19, 22)和 的數(shù)據(jù)集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),這是正確的,但是當(dāng)我使用時(shí)fit出現(xiàn)錯(cuò)誤ValueError: Input 0 of layer sequential_15 is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: [19, 22],我在 Stack 上搜索了一些答案,但大多數(shù)是因?yàn)檩斎刖S度是(a, b)而不是(a,b,c)。任何幫助表示贊賞。
1 回答

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