自定义估算器头用于评估概率分布的向量

时间:2017-12-31 16:08:55

标签: python tensorflow tensorflow-estimator

我正在使用TensorFlow 1.4和Estimator框架。

我想使用tf.contrib.estimator.multi_head创建一个头部(在另一个头部的模型中),它总结了N softmax_cross_entropy_with_logits的结果。 N个概率分布均在同一组类上定义,但是是独立分布。我想要计算的汇总损失分数只是softmax交叉熵损失的平方和。

如果我伪造一个N {0}的tf.contrib.estimator.regression_head向量,我几乎可以使用labels计算摘要,因为零向量的均方误差相当于对softmax损失的平方求和。但这看起来很糟糕,我想要一个更直接的方法。

似乎我需要在_Head中创建我自己的tensorflow.python.estimator.canned.head子类,并且必须实现方法create_loss,该方法被记录为框架开发人员使用

在开始这条道路之前,我想知道是否有其他方法需要考虑。

我最初使用Keras开始开发,并且曾经有过使用功能API的多头模型。我想知道是否应该返回使用Keras,然后使用model_fn创建我的tf.keras.estimator.model_to_estimator。在所有条件相同的情况下,我更愿意使用纯粹的Tensorflow习语进行编码,但也许Keras是最简单的前进道路。

0 个答案:

没有答案