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

学习TensorFlow时遭遇TypeError错误,该如何解决?

解决TensorFlow中Flatten层的TypeError错误

你的问题出在Flatten层的参数传递上:你直接传入了60000,28,28三个位置参数,但Flatten类的初始化方法最多只接受2个位置参数(第一个是类自身的self,第二个是可选的输入形状,必须用关键字参数指定)。

你不需要手动给Flatten层传入样本数量和完整维度,它会自动根据输入数据的形状完成扁平化操作。如果要指定输入形状,只需要用input_shape关键字参数定义单个样本的形状即可(样本数量不需要在这里写,训练时会自动处理)。

修正后的代码有两种写法:

写法1:不指定输入形状(推荐,后续层会自动推断)

model = keras.models.Sequential([
    keras.layers.Flatten(),
    keras.layers.Dense(128, activation="relu"),
    keras.layers.Dense(10),
])

写法2:明确指定输入形状

如果是处理MNIST这类28x28的图片数据,只需要传入单张图片的形状:

model = keras.models.Sequential([
    keras.layers.Flatten(input_shape=(28,28)),
    keras.layers.Dense(128, activation="relu"),
    keras.layers.Dense(10),
])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 14:37:07