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

Colab可运行的多层LSTM模型在Kaggle出现维度不兼容错误

问题分析与解决方案

核心问题:LSTM输入维度不匹配

你的LSTM模型第一层定义了input_shape=(4, 1),要求输入数据是3维张量(样本数,时间步长,特征数),但当前X_train和X_test是2维结构(样本数, 4),缺少了特征维度,因此Kaggle环境直接抛出维度不兼容错误。

为什么Colab能正常运行?

核心原因是Colab与Kaggle的TensorFlow版本差异:

  • 旧版本TensorFlow(如2.5及更早)会自动为输入数据补全缺失的特征维度,即把(N,4)自动转为(N,4,1),适配模型输入要求
  • Kaggle当前默认的TensorFlow版本更严格,不会自动补全维度,因此直接触发报错

解决方案:手动扩展数据维度

在训练前给X_train和X_test增加特征维度,代码如下:

import numpy as np

X_train = np.expand_dims(X_train, axis=-1)  # 形状变为(38406, 4, 1)
X_test = np.expand_dims(X_test, axis=-1)    # 形状变为(9635, 4, 1)

修改后再执行model.fit即可解决报错。

验证修改后的维度

可通过打印确认维度是否符合要求:

print(X_train.shape)  # 预期输出:(38406, 4, 1)
print(X_test.shape)   # 预期输出:(9635, 4, 1)

内容的提问来源于stack exchange,提问作者michele.damian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:25:27