我有一个具有形状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
提交
取消