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

TensorFlow≥2.12.0下Keras模型保存是否丧失向后兼容性?

Keras v2.12.0模型保存兼容性问题

我在使用Keras v2.12.0版本保存模型时遇到问题,似乎该版本存在向后兼容问题。想确认是我的理解有误,还是必须重构代码才能迁移到v2.12.0?

我们在v2.7.0版本的旧保存方式为:传入有效的.h5文件路径给Keras,即可在磁盘生成对应名称的.h5文件,代码如下:

model = tf.keras.models.Sequential(...)
model.compile(...)
model.save('my_model.h5')

但这段代码在v2.12.0中运行报错:

tensorflow.python.framework.errors_impl.FailedPreconditionError: /tmp/tmpt118zg26 is not a directory

我了解v2.12.0提供两种保存选项:

  • 文件夹形式保存:通过tf.saved_model.save()实现
  • 文件形式保存:由tf.keras.saving.save_model()支持,且model.save()是该方法的别名

v2.12.0的发布说明中提到:

将所有保存相关工具迁移至新命名空间keras.saving,例如
原API位置(keras.utils和keras.models)将永久可用,但建议更新代码指向新API位置。

那么为何上述代码突然报错?我有以下疑问:

  • 是否仍可使用原有方式直接保存.h5文件?若可以,如何操作?这难道不应该向后兼容吗?是否必须重写代码(若要保留文件保存方式,是否只需改为调用tf.keras.saving.save_model()?)
  • 或者必须改为保存到文件夹?那么迁移路径是什么?所有模型放在同一文件夹会互相覆盖吗?是否需要嵌套文件夹,同时调整模型同步方式(例如改用aws s3 sync 'folder'替代boto3的client.upload_file()上传到AWS?)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:57:37