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

转Numpy数组后LSTM光伏功率预测模型出现TypeError问题

问题解决:LSTM input_shape设置导致TypeError错误

错误根源

你在定义LSTM层时的input_shape=(x_train[1], 1)是错误写法:

  • x_train[1]是直接取训练数组的第二个样本数据,而非输入序列的维度参数
  • LSTM要求input_shape传入的是**(时间步长, 特征数)**,需要从数组的形状属性中获取

修正代码

将错误行替换为:

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

完整修正后的模型构建代码

# build the LSTM model
model = Sequential()
model.add(LSTM(50, return_sequences=True, input_shape=(x_train.shape[1], 1)))
model.add(LSTM(50, return_sequences=False))
model.add(Dense(25))
model.add(Dense(1))

原理说明

经过np.reshape后,你的x_train是三维数组,形状为(样本数量, 时间步长, 特征数):

  • x_train.shape[0]:训练样本的总数
  • x_train.shape[1]:每个样本包含的时间步长(对应你设置的1500)
  • x_train.shape[2]:每个时间步的特征数量(这里是1,因为仅用到AC_POWER单特征)

LSTM层的input_shape不需要指定样本数(Keras会自动适配),只需传入后面两个维度即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 07:03:17