Streamlit Cloud免费版部署带Keras模型的应用失败求助
解决Streamlit Cloud部署因模型权重过大失败的方案
移除仓库中的本地模型权重文件
直接删除仓库内的Keras模型权重文件(常见格式如.h5、.keras、.hdf5),同时在.gitignore文件中添加对应后缀规则,防止后续误提交权重文件:*.h5 *.keras *.hdf5部署时动态下载模型权重
修改应用代码,让程序在启动时从公开云存储服务下载权重文件,而非依赖仓库内的本地文件。示例代码逻辑:import streamlit as st import tensorflow as tf import os import requests # 替换为你的权重文件公开下载地址 MODEL_WEIGHTS_URL = "权重文件的公开下载链接" WEIGHTS_PATH = "seefood_model.keras" # 检查权重文件是否存在,不存在则自动下载 if not os.path.exists(WEIGHTS_PATH): st.info("正在下载模型权重,请稍候...") response = requests.get(MODEL_WEIGHTS_URL) with open(WEIGHTS_PATH, "wb") as f: f.write(response.content) # 加载模型 model = tf.keras.models.load_model(WEIGHTS_PATH)轻量化模型(可选优化)
如果模型体积仍过大,可对模型进行轻量化处理:比如转换为TensorFlow Lite格式,或通过剪枝、量化操作压缩模型,进一步减小权重文件大小,提升部署效率。
内容的提问来源于stack exchange,提问作者adhok
相关产品推荐
相关产品推荐

