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

Jupyter运行LSTM模型时build_model函数return报语法错误

问题根因

报错由两处代码书写错误共同导致:

  1. 缩进错误:Python通过缩进判定代码块归属,return grid_model未做缩进,不属于build_model函数内部语句
  2. 换行缺失:return语句和函数外的KerasRegressor初始化代码被误写在同一行,解释器会将grid_model = KerasRegressor(...)整体识别为return的返回值内容,解析到=时触发非法语法错误,报错箭头指向的位置正好对应这个问题点。
修复方案

将return语句缩进至与函数内其他代码同级,同时把粘连的KerasRegressor初始化代码拆分到单独一行,放在函数定义外部。
修正后的代码如下:

def build_model(optimizer):
    grid_model = Sequential()
    grid_model.add(LSTM(50,return_sequences=True,input_shape=(30,5)))
    grid_model.add(LSTM(50))
    grid_model.add(Dropout(0.2))
    grid_model.add(Dense(1))
    grid_model.compile(loss = 'mse',optimizer = optimizer)
    # 调整缩进,对齐函数内代码
    return grid_model

# 拆分到单独一行,放在函数外部
grid_model = KerasRegressor(build_fn=build_model,verbose=1,validation_data=(testX,testY))
注意事项
  • Python为缩进敏感语言,函数、循环、条件判断等代码块的内部语句需保持统一缩进,避免混用空格与Tab
  • 复制粘贴代码后注意检查行首尾是否有粘连的其他代码,这类低级语法错误排查成本很高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 06:18:26