gpt4 book ai didi

tensorflow - 输出层在自定义估计器中没有激活函数

转载 作者:行者123 更新时间:2023-11-30 08:58:40 26 4
gpt4 key购买 nike

custom estimator ,输出层没有激活。

logits = tf.layers.dense(net, params['n_classes'], activation=None)

然后使用sparse_softmax_cross_entropy计算损失

loss = tf.losses.sparse_softmax_cross_entropy(labels=labels, logits=logits)  

问题

  1. 一般来说,输出层也应该有激活函数?
  2. sparse_softmax_cross_entropy表示使用softmax作为激活计算损失时输出层的函数?

最佳答案

“天真地”计算 softmax 和基于它的交叉熵可能在数值上不稳定。这就是为什么建议不要在输出层中进行激活(通常用于分类的是tf.nn.softmax)。相反,Tensorflow 提供诸如 sparse_softmax_cross_entropy 之类的损失函数,它在内部应用 softmax(以数值稳定的方式),然后基于该函数计算交叉熵。也就是说,您应该提供模型输出而不您自己的softmax(通常称为logits)。

例如在 API docs for the softmax op您通常可以找到诸如

之类的段落

WARNING: This op expects unscaled logits, since it performs a softmax on logits internally for efficiency. Do not call this op with the output of softmax, as it will produce incorrect results.

关于tensorflow - 输出层在自定义估计器中没有激活函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49487693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com