ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 455, 30), found shape=(None, 30)

ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 455, 30), found shape=(None, 30)

https://www.youtube.com/watch?v=z1PGJ9quPV8&t=28s 这里是癌症检测的小项目,已经提供了数据集和colab代码,但是我执行的时候遇到了问题

model.fit(x_train, y_train, epochs=1000)

它显示:ValueError:层“顺序”的输入 0 与层不兼容:预期形状=(None, 455, 30),找到的形状=(None, 30)

我看看评论,有人遇到同样的问题

Tensorflow 模型期望输入的第一个维度是批量大小,但是在模型声明中他们将输入形状设置为与输入相同的形状。要解决此问题,您可以将模型的输入形状更改为数据集中的特征数。

model.add(tf.keras.layers.Dense(256, input_shape=(x_train.shape[1],), activation='sigmoid'))

.csv 文件中的行数将是数据集中的样本数。由于您没有使用批处理,因此模型将在每个时期

一次评估整个数据集

参数 input_shape 形状元组(不包括批轴),或 TensorShape 实例(不包括批轴)。 根据 keras 的文档,输入形状确实包括批处理轴 所以尝试给 input_shape=(30,) 而不是 input_shape=(455,30)