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

调用efficientnet_history.save报错:'History'无'save'属性,如何正确保存模型?

问题原因

你调用efficientnet_history.save()报错,是因为model.fit()返回的efficientnet_history是History对象——它只负责记录训练过程中的损失、精度等指标数据,根本没有save方法。要保存的是你定义的模型实例efficientnet_model,不是训练历史。

正确保存模型的方法

1. 直接保存完整H5模型

用模型本身的save()方法,一次性保存模型结构、权重和优化器状态:

efficientnet_model.save("signlen_efficientnet_model.h5")

2. 保存为TensorFlow推荐的SavedModel格式

这种格式兼容性更强,适合跨平台部署,执行后会生成一个包含模型文件的文件夹:

efficientnet_model.save("signlen_efficientnet_model")

3. 用你已有的训练回调加载模型

你训练时已经加了modelCheckpoint回调,它已经在每轮训练后保存了ckpt格式的模型。直接加载就行:

from tensorflow.keras.models import load_model

loaded_model = load_model("training_1/cp.ckpt")
加载模型示例

不管用哪种格式保存,加载都可以用load_model函数:

# 加载H5模型
loaded_h5_model = load_model("signlen_efficientnet_model.h5")

# 加载SavedModel模型
loaded_saved_model = load_model("signlen_efficientnet_model")

内容的提问来源于stack exchange,提问作者Jimmy Wang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:45:46