softmax_cross_entropy_with_logits函数原型:
tf.nn.softmax_cross_entropy_with_logits(labels=y, logits=pred, name=None)
函数功能:计算最后一层是softmax层的cross entropy,把softmax计算与cross entropy计算放到一起了,用一个函数来实现,用来提高程序的运行速度。
参数name:该操作的name
参数labels:shape是[batch_size, num_classes],神经网络期望输出。
参数logits:shape是[batch_size, num_classes] ,神经网络最后一层的输入。
具体的执行流程大概分为两步:
第一步是对网络最后一层的输出做一个softmax,这一步通常是求取输出属于某一类的概率,对于单样本而言,输出就是一个 num_classes 大小的向量([Y1,Y2,Y3,…]其中Y1,Y2,Y3,…分别代表了是属于该类的概率)

第二步是softmax的输出向量[Y1,Y2,Y3,…]和样本的实际标签做一个交叉熵,

Yi’指实际标签中第i个的值;
Yi指softmax的输出向量[Y1,Y2,Y3…]中,第i个元素的值。
总之,tensorflow之所以把softmax和cross entropy放到一个函数里计算,就是为了提高运算速度。
本文介绍TensorFlow中softmax_cross_entropy_with_logits函数的使用方法及其背后的原理。该函数将softmax计算与交叉熵计算结合在一起,用于提高程序运行效率。文章详细解释了函数参数及执行流程。
1252

被折叠的 条评论
为什么被折叠?



