使用 TensorFlow 2.1 加载自定义模型

Posted

技术标签:

【中文标题】使用 TensorFlow 2.1 加载自定义模型【英文标题】:Loading Custom Model with Tensorflow 2.1 【发布时间】:2020-03-04 16:14:26 【问题描述】:

我已经将自己的类子类化为tf.keras.Model,并且正在尝试保存和加载经过训练的实例。我正在尝试遵循this 教程,但每次我去加载保存的模型时,我都会收到相同的错误消息:TypeError: __init__() got an unexpected keyword argument 'reduction'。我已经尝试将该关键字参数添加到我的课程中,但它没有任何改变。有什么想法吗?

【问题讨论】:

【参考方案1】:

我在 Tensorflow 1.14 上遇到了同样的问题,并通过在加载函数中添加 compile=False 来解决它:

new_model = tf.keras.models.load_model('saved_model/my_model', compile=False)

即使使用compile=False,也可以运行model.predict() 函数。

解决方案来源于this Tensorflow issue。

【讨论】:

以上是关于使用 TensorFlow 2.1 加载自定义模型的主要内容,如果未能解决你的问题,请参考以下文章

保存和加载自定义 Tensorflow 模型(自回归 seq2seq 多元时间序列 GRU/RNN)

如何使用 tensorflow-serving 发布自定义(非 tensorflow)模型?

如何为 keras 模型使用 tensorflow 自定义损失?

在 TensorFlow 的 SKFlow 模型训练中应用自定义成本函数

3. 一元多元逻辑回归自定义实现——tensorflow2

社区说 | 使用 TensorFlow Lite 构建和部署自定义对象检测模型