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

在Streamlit Cloud部署LSTM模型应用时遇参数错误求助

问题原因

这个错误的核心是本地和Streamlit Cloud的TensorFlow/Keras版本不兼容。time_major是LSTM层的参数之一,不同版本的框架对该参数的支持不一样——你本地用的版本能识别这个参数,但云端环境的版本存在差异(通常是版本过旧),认不出它,所以抛出了这个错误。

解决方法
  • 锁定依赖版本
    在项目根目录新建requirements.txt文件,把本地环境用的TensorFlow、Streamlit版本明确写进去,强制云端安装和本地一致的版本。比如本地用的是TensorFlow 2.10.0、Streamlit 1.28.0,文件内容就写:
tensorflow==2.10.0
streamlit==1.28.0

(项目用到的其他依赖也可以一并写上,避免遗漏)

  • 重新适配模型(如果版本锁定后仍有问题)
    要是锁定版本后还是报错,可以在本地用和云端一致的框架版本重新导出模型:
  1. 本地创建虚拟环境,安装和requirements.txt里一致的TensorFlow版本
  2. 加载原模型,检查LSTM层的参数,按照目标版本的要求调整(比如移除time_major参数),然后重新保存成.h5文件
  3. 把新模型替换掉旧的,再重新部署到Streamlit Cloud
  • 检查模型加载代码
    确保加载模型的代码没有额外传入不兼容的参数,正确的加载方式应该是:
from tensorflow.keras.models import load_model
model = load_model('你的模型文件名.h5')

别在load_model函数里加和LSTM层相关的自定义参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:12:05