Python Keras:ValueError:层顺序_1的输入0与层不兼容:预期ndim=3,发现ndim=2

Python Keras:ValueError:层顺序_1的输入0与层不兼容:预期ndim=3,发现ndim=2,python,tensorflow,keras,Python,Tensorflow,Keras,我有一个数据集,它的形状是X:(1146165,19,22)和Y:(1146165,)。这是我的型号代码: 将tensorflow导入为tf train_data=tf.data.Dataset.from_tensor_切片((x_train,y_train)) valid_data=tf.data.Dataset.from_张量_切片((x_有效,y_有效)) def create_模型(形状=(19,22)): tfkl=tf.keras.layers 模型=tf.keras.Sequent

我有一个数据集,它的形状是
X:(1146165,19,22)
Y:(1146165,)
。这是我的型号代码:

将tensorflow导入为tf
train_data=tf.data.Dataset.from_tensor_切片((x_train,y_train))
valid_data=tf.data.Dataset.from_张量_切片((x_有效,y_有效))
def create_模型(形状=(19,22)):
tfkl=tf.keras.layers
模型=tf.keras.Sequential([
tfkl.LSTM(128,返回序列=真,输入形状=形状),
tfkl.LSTM(64),
tfkl.辍学率(0.3),
tfkl.稠密(64,activation=“linear”),
tfkl.高密度(1)
])
编译(loss='mean\u absolute\u error',optimizer=“adam”)
回归模型
模型=创建_模型()
model.summary()
如您所见,
input_shape
(19,22)
,这是正确的,但是当我使用
fit
时,我得到了错误
ValueError:layer sequential_15的输入0与层不兼容:预期的ndim=3,发现的ndim=2。收到完整形状:[19,22]


我在堆栈上搜索了一些答案,但大多数答案是因为输入维度是
(a,b)
,而不是
(a,b,c)
。非常感谢您的帮助。

如果您想使用
tf.data.Dataset
来匹配您的模型,您需要确保在
model.fit
中使用它之前对其进行批处理。对于您选择的
批量大小
,请尝试

train_data = train_data.batch(batch_size)
model.fit(train_data)