bce = tf.keras.losses.BinaryCrossentropy()
loss = bce([0., 0., 1., 1.], [1., 1., 1., 0.])
print('Loss: ', np.array(loss)) # Loss: 11.522857
其中,当模型最后一层没有经过激活函数时from_logits设置为True,否则为False。
因为logits表示网络的直接输出 。如果网络输出的结果经过了sigmoid或者softmax的概率化,那么from_logits=False就表示把已经概率化了的输出,重新映射回原值。如果网络输出的结果没经过概率化,则from_logits=True,表示不进行任何操作。