Keras设置input_shape为整数触发TypeError,求原因及解决方法
解决Keras中input_shape参数引发的TypeError问题
我来帮你分析这个问题,我之前也踩过类似的坑!
先看你触发的错误提示:
TypeError: 'int' object is not iterable
错误原因
Keras的input_shape参数要求传入可迭代的形状元组,但你直接传了整数3——Python会把这个参数当成要遍历的对象,可整数本身没法迭代,自然就抛出这个错误了。
这里需要明确:input_shape用来定义单条样本的特征维度(不需要包含批量大小,Keras会自动处理批量维度)。你的每条样本有3个特征,所以得用元组(3,)来描述这个形状。
修正方案
只需要把输入层的input_shape改成元组形式即可,修改后的代码如下:
model = Sequential() model.add(Dense(128, input_shape=(3,), activation='relu'))
额外小提示:可以用print(x_train.shape)检查一下你的训练输入数据形状,确认是(3000000, 3),这样能确保输入数据维度和模型输入层完全匹配,避免后续其他维度不兼容的问题。
内容的提问来源于stack exchange,提问作者靻§靹�,python;keras
相关产品推荐
相关产品推荐

