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

Keras 3中如何加载SavedModel格式模型并进行评估?

解决方案:在Keras 3中加载SavedModel并进行评估

针对你遇到的问题,以下是几种可行的解决方法:

1. 使用Keras 3原生加载函数加载SavedModel

Keras 3中,keras.saving.load_model()是统一的模型加载入口,支持直接加载SavedModel格式。替换原来的tf.keras.models.load_model()即可:

import keras

# 加载SavedModel格式模型
model = keras.saving.load_model("path/to/your/saved_model", save_format="tf")

# 现在可以正常调用evaluate/predict
model.evaluate(test_data)
predictions = model.predict(test_data)

说明:TensorFlow 2.17绑定的Keras 3中,tf.keras.models.load_model()默认优先识别.keras(Keras 3原生格式)和.h5文件,而SavedModel格式需要通过Keras原生的加载函数处理。

2. 转换纯TensorFlow SavedModel为Keras对象

如果你的模型是通过tf.saved_model.save()而非Keras的model.save()保存的,加载后得到的是TensorFlow SavedModel对象,需要手动转换为Keras模型:

import tensorflow as tf
import keras

# 加载SavedModel
saved_model = tf.saved_model.load("path/to/your/saved_model")

# 获取默认服务签名
inference_fn = saved_model.signatures["serving_default"]

# 从签名中提取输入输出,构建Keras模型
keras_model = keras.Model(inputs=inference_fn.inputs, outputs=inference_fn.outputs)

# 执行评估或预测
keras_model.evaluate(test_dataset)

说明:这种方式适用于非Keras导出的SavedModel,通过提取模型的输入输出张量,重新封装为Keras模型实例,从而支持Keras的标准方法。

3. 确认模型保存方式

如果是用Keras模型保存的SavedModel,确保保存时使用的是:

# Keras模型保存为SavedModel格式
model.save("path/to/save", save_format="tf")

这样保存的模型可以直接用keras.saving.load_model()加载,无需额外转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:13:10