You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决TensorFlow「过拟合与欠拟合」教程中的input_shape错误

问题解答

为什么模型期望形状是(None, 28)?

你定义模型时指定的input_shape=(FEATURES,),是用来描述单个样本的特征形状。TensorFlow/Keras会自动为输入追加一个批量维度(用None表示,代表可接受任意数量的样本组成一批),所以模型实际期望的输入形状是(None, 28)——其中None对应批量大小(比如一次传入32个样本就是(32,28)),后面的28是单个样本的特征数。

错误原因

你传入模型的输入是形状为(28,)的单个样本,缺少了批量维度,和模型要求的(None,28)不匹配,因此触发了形状不兼容的错误。

解决方法

  • 给单个输入补全批量维度:如果是测试单个样本,用np.expand_dims(your_data, axis=0)把(28,)的形状转换成(1,28),再传入模型。
  • 检查数据预处理流程:查看compile_and_fit函数或数据加载代码,确保训练/验证数据的形状是(样本总数, 28),而非单个样本的形状。教程里的compile_and_fit默认处理批量数据,大概率是你在数据准备环节不小心丢失了批量维度。

内容的提问来源于stack exchange,提问作者SapereAude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 21:45:54