我熟悉Keras,在Keras中,我们需要根据需要在输出层中添加激活函数,但是在学习Tensorflow时,我发现没有将激活函数添加到输出层中。
任何人都可以解释其背后的原因。
答案 0 :(得分:1)
在Tensorflow中,损失函数通常需要 logit 作为输入,例如sigmoid_cross_entropy_with_logits或softmax_cross_entropy_with_logits。 Logits 是激活功能之前的输出。
但是,在Keras中,默认情况下,您需要传递输出(带有激活)以计算损失,因为如果您将损失转移给了categorical_cross_entropy
,则可以看到from_logits=True
的{{3}}不是logit(具有激活函数)(默认设置),它直接基于输出计算交叉熵,但是如果它来自logit,则必须指定If ...
If ...
If...
For ...
For ...
If ...
...
End If
Next
Next
End If
End If
End If
,并且将使用期望logits作为输入的相应TF损失函数。