繁体   English   中英

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

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

这里是Cancer detection的小项目,里面已经有了数据集和colab代码,但是我执行的时候报错

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

错误是:

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

看评论其他人也有这个问题

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

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

.csv 文件中的行数将是数据集中的样本数。 由于您不使用批处理,因此 model 将在每个时期一次评估整个数据集

我尝试了上面的解决方案:

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

但同样的问题发生了,所以我尝试按照下面的代码分别定义 model 的 inpute_shape 并且它有效希望这对你有帮助:

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

Args input_shape 形状元组(不包括批轴),或 TensorShape 实例(不包括批轴)。 根据 keras 的文档,输入形状确实包括批处理轴,因此请尝试提供 input_shape=(30,) 而不是 input_shape=(455,30)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM