【问题标题】:How to convert a tf.estimator to a keras model?如何将 tf.estimator 转换为 keras 模型?
【发布时间】:2019-07-22 07:15:28
【问题描述】:
在tf.estimator 包中,有很多已定义的估算器。我想在 Keras 中使用它们。
我查看了 TF 文档,只有一种转换方法可以将 keras. Model 转换为 tf. estimator,但无法从 estimator 转换为 Model。
例如,如果我们要转换以下估算器:
tf.estimator.DNNLinearCombinedRegressor
如何转化为 Keras 模型?
【问题讨论】:
标签:
python-3.x
tensorflow
keras
【解决方案1】:
您不能,因为估算器可以在其model_fn 函数中运行任意代码,而且 Keras 模型必须更加结构化,无论是顺序的还是功能性的,它们基本上都必须由层组成。
Keras 模型是一种非常特殊的对象类型,因此可以轻松包装并插入其他抽象。
估计器基于具有任意控制流的任意 Python 代码,因此将任何结构强加于它们是相当棘手的。
估算器支持 3 种模式 - 训练、评估和预测。从理论上讲,它们中的每一个都可以具有完全独立的流,具有不同的权重、架构等。这在 Keras 中几乎是不可想象的,并且基本上相当于 3 个独立的模型。
相比之下,Keras 支持 2 种模式 - 训练和测试(这对于 Dropout 和正则化之类的东西是必需的)。