TensorFlow中常见的分类函数主要有sigmoid_cross_entropy_with_logits、softmax、log_softmax、softmax_cross_entropy_with_logits等,它们也主要定义在tensorflow-1.1.0/tensorflow/python/ops的nn.py和nn_ops.py文件中。
tf.nn.sigmoid_cross_entropy_with_logits(logits, targets, name=None)
tf.nn.softmax(logits, dim=-1, name=None)
tf.nn.log_softmax(logits, dim=-1, name=None)
tf.nn.softmax_cross_entropy_with_logits(logits, labels, dim=-1, name=None)
tf.nn.sparse_softmax_cross_entropy_with_logits(logits, labels, name=None)
下面我们就逐一讲解。
(1)tf.nn.sigmoid_cross_entropy_with_logits(logits, targets, name=None):
def sigmoid_cross_entropy_with_logits(logits, targets, name=None):
# 输入:logits:[batch_size, num_classes],targets:[batch_size, size].logits用最后一
# 层的输入即可
# 最后一层不需要进行sigmoid运算,此函数内部进行了sigmoid操作
# 输出:loss [batch_size, num_classes]
这个函数的输入要格外注意