在tf.estimator
包中,有很多已定义的估算器。我想在Keras中使用它们。
我查看了TensorFlow(TF)文档,只有一种将keras.Model
转换为tf.estimator
的方法,但无法从estimator
转换为Model
。
例如,如果我们想要将以下估算器进行转换:
tf.estimator.DNNLinearCombinedRegressor
如何将其转换为Keras模型?
在tf.estimator
包中,有很多已定义的估算器。我想在Keras中使用它们。
我查看了TensorFlow(TF)文档,只有一种将keras.Model
转换为tf.estimator
的方法,但无法从estimator
转换为Model
。
例如,如果我们想要将以下估算器进行转换:
tf.estimator.DNNLinearCombinedRegressor
如何将其转换为Keras模型?
由于估计器可以在其model_fn
函数中运行任意代码,因此您无法这样做。而Keras模型必须更加结构化,无论是顺序还是功能性,它们都必须由层组成。
Keras模型是一种非常特定的对象,因此可以轻松地包装和插入其他抽象。
估计器基于任意Python代码,并具有任意控制流,因此很难对它们强制执行任何结构。
估计器支持3种模式-训练、评估和预测。每个模式理论上都可以具有完全独立的流程,具有不同的权重、架构等。这在Keras中几乎是不可想象的,实际上相当于三个单独的模型。
相比之下,Keras支持2种模式-训练和测试(这对于Dropout和正则化等事情是必要的)。