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

部署Streamlit应用共享时出现sklearn模型相关报错如何解决?

部署sklearn相关报错排查解决方法

核心原因

该类报错90%以上是本地训练模型的scikit-learn版本与Streamlit部署环境的scikit-learn版本不匹配导致的序列化模型加载失败。

具体解决步骤

  • 首先在本地开发环境终端执行命令pip show scikit-learn,查询本地训练时使用的scikit-learn具体版本号。
  • 在项目根目录新增requirements.txt文件,明确指定所有依赖的版本,需保证scikit-learn的版本和本地查询到的完全一致,示例内容如下:
streamlit==1.28.0
pandas==2.1.3
numpy==1.24.3
scikit-learn==1.3.2 # 此处替换为你本地查询到的实际版本号
joblib==1.3.2
  • 检查模型加载代码,优先使用joblib进行模型的序列化与反序列化操作,避免原生pickle的兼容性问题,示例代码:
import joblib

# 加载模型代码
loan_model = joblib.load("你的模型文件名.pkl")
  • 若修改后仍报错,在本地scikit-learn版本和requirements.txt指定版本一致的前提下,重新导出训练好的模型,替换仓库中旧的模型文件。
  • 检查模型文件是否完整上传到代码仓库:若模型文件大小超过100M,需使用Git LFS上传,否则文件会被截断无法正常加载。
  • 所有修改推送至代码仓库后,触发Streamlit平台重新部署即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:36:07