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

能否将Checkpoint格式的目标检测模型转换为Keras的.h5格式?

问题解答

核心结论

可以将SavedModel格式转换为单个.h5文件,但不能直接通过tf.train.Checkpoint的save方法实现,需要先将SavedModel加载为Keras模型,再进行保存。

为什么之前的代码报错

你使用的ckpt.save('myModel.h5', save_format='h5')报错,是因为tf.train.Checkpoint类的save方法不支持save_format参数——这个参数是Keras模型专属的save方法才有的参数,而Checkpoint本身是TensorFlow的检查点对象,并非标准Keras模型,所以无法直接用该方式生成.h5文件。

正确转换步骤

你已经成功将Checkpoint导出为SavedModel格式,接下来只需将SavedModel加载为Keras模型,再保存为.h5即可:

  1. 加载SavedModel为Keras模型
import tensorflow as tf
# 确保导入Object Detection API相关模块,避免自定义层加载失败
from object_detection.builders import model_builder
from object_detection.utils import config_util

# 加载SavedModel
loaded_keras_model = tf.keras.models.load_model('/content/model')
  1. 保存为.h5格式
# 保存为单个h5文件
loaded_keras_model.save('myModel.h5', save_format='h5')

注意事项

  • 如果加载SavedModel时出现自定义层未找到的错误,确认已经导入了Object Detection API的所有必要模块(如上述代码中的导入语句),官方模型的自定义层会通过这些模块自动注册。
  • .h5格式会将模型结构、权重、配置打包为单个文件,适合简单分发;但TensorFlow官方更推荐使用SavedModel格式,它对复杂模型的兼容性更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:11:09