##c3d代码
原文链接:https://blog.csdn.net/ZJRN1027/article/details/80199248
cross_entropy_mean = tf.reduce_mean(
tf.nn.sparse_softmax_cross_entropy_with_logits(labels=labels,logits=logit)
)
tf.summary.scalar(
name_scope + ‘_cross_entropy’,
cross_entropy_mean
)
tf.nn.sparse_softmax_cross_entropy_with_logits(labels=labels,logits=logit)
logits为神经网络输出层的输出,shape为[batch_size,num_classes],
label为一个一维的vector,长度等于batch_size,每一个值的取值区间必须是[0,num_classes),其实每一个值就是代表了batch中对应样本的类别
tf.nn.sparse_softmax_cross_entropy_with_logits()首先来说,这个函数的具体实现分为了两个步骤,我们一步一步依次来看。
第一步:Softmax
不管是在进行文本分类还是图像识别等任务时,神经网络的输出层个神经元个数通常都是我们要分类的类别数量,也可以说,神经网络output vector的dimension通常为类别数量,而我们的Softmax函数的作用就是将每个类别所对应的输出分量归一化,使各个分量的和为1,这样可以理解为将output vector的输出分量值,转化为了将input data