1

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

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

如果我伪造一个包含 N 个零的向量,我几乎可以使用 atf.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 是最简单的前进道路。

4

0 回答 0