如何将Keras模型保存至谷歌云端硬盘或本地计算机?
Keras模型本地/谷歌云端硬盘保存及复用实现方案
Keras提供标准化的模型序列化能力,保存后的文件会完整包含模型结构、权重、编译配置,加载后可直接调用
model.predict()执行预测,无需重新训练。
一、保存到本地计算机
1. 保存模型
支持两种主流存储格式:
- H5格式:单文件存储,适合小模型分享,需要先安装依赖:
pip install h5py,保存代码:
model.save("my_model.h5")
- SavedModel格式:TensorFlow官方推荐格式,支持断点续训、生产部署,保存后生成完整文件夹,无需额外依赖:
model.save("my_model")
2. 加载模型
统一用load_model接口加载:
from tensorflow.keras.models import load_model # 加载H5格式模型 model = load_model("my_model.h5") # 加载SavedModel格式模型 model = load_model("my_model")
加载完成后可直接调用model.predict()执行预测。
二、保存到谷歌云端硬盘(Colab环境下操作)
1. 挂载谷歌云盘到运行环境
先执行挂载代码,按提示完成账号授权即可:
from google.colab import drive drive.mount("/content/drive")
挂载完成后,你的云盘根目录会映射到Colab的/content/drive/MyDrive路径下。
2. 保存模型到云盘
直接指定保存路径为云盘路径即可,逻辑和本地保存完全一致:
# 保存H5格式到云盘根目录 model.save("/content/drive/MyDrive/my_model.h5") # 保存SavedModel格式到云盘根目录 model.save("/content/drive/MyDrive/my_model")
3. 从云盘加载模型
后续复用模型时,先挂载云盘再加载对应路径的文件即可:
from google.colab import drive from tensorflow.keras.models import load_model drive.mount("/content/drive") model = load_model("/content/drive/MyDrive/my_model.h5")
特殊情况说明:如果你的模型用到了自定义层、自定义损失函数、自定义评估指标,加载模型时需要通过
custom_objects参数传入对应的自定义对象,示例:model = load_model("my_model.h5", custom_objects={"MyCustomLayer": MyCustomLayer}),否则会触发加载报错。
内容的提问来源于stack exchange,提问作者Ghosty
相关产品推荐
相关产品推荐

