概率分布评分向量的定制估计头

2024-10-04 11:30:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是TensorFlow1.4和Estimator框架。在

我想用tf.contrib.estimator.multi_head来创建一个head(在一个有另一个head的模型中),它总结了Nsoftmax_cross_entropy_with_logits的结果。N个概率分布都定义在同一个类集合上,但都是独立的分布。我想计算的总损失分数就是softmax交叉熵损失的平方和。在

我几乎可以用一个tf.contrib.estimator.regression_head来计算摘要,如果我伪造一个N个零的labels向量,因为一个零向量的均方误差相当于对softmax损失的平方求和。但这似乎很愚蠢,我希望有一个更直接的方法。在

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

在我开始这条路之前,我想听听我是否应该考虑其他的方法。在

我最初是用Keras开发的,曾经有过一个使用函数API的多线程模型。我想知道我是否应该回到使用Keras,然后使用tf.keras.estimator.model_to_estimator创建我的model_fn。在所有条件都相同的情况下,我更喜欢使用纯Tensorflow习惯用法来编写代码,但也许Keras是最简单的方法。在


Tags: 方法模型框架modeltfcontrib向量multi