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

Keras搭建LSTM模型执行model.fit触发TypeError错误如何修复

错误原因

你代码里所有Dropout层的参数写错了,把表示Dropout丢弃概率的浮点值里的小数点写成了英文逗号:

  • Keras的Dropout层第一个位置参数是丢弃概率rate,第二个位置参数是noise_shape,你写的Dropout(0,2)等价于给rate传了整数0,给noise_shape传了整数2
  • 而noise_shape要求是可迭代的张量形状元组/列表,传整数自然会触发'int' 对象不可迭代的报错,和你报错栈里的错误点完全对应。

修复方法

把所有Dropout(0,2)里的逗号改成小数点,改为Dropout(0.2)即可。另外注意损失函数名是下划线分隔的mean_squared_error,横杠分隔的写法在部分新版本Keras里也会触发找不到损失函数的报错,修改后的完整模型代码如下:

model = Sequential()

model.add(LSTM(units=50, return_sequences=True, input_shape=(x_train.shape[1], 1)))
model.add(Dropout(0.2))
model.add(LSTM(units=50, return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(units=50))
model.add(Dropout(0.2))
model.add(Dense(units=1))

model.compile(optimizer='adam', loss='mean_squared_error')
model.fit(x_train, y_train, epochs=25, batch_size=32)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:06:03