1 引言
今天学长说要像饿狼一样啃这份代码,虽然有点困难,但是对未来会一直有帮助
2 函数解析
def sparse_softmax_cross_entropy_with_logits(
_sentinel=None, # pylint: disable=invalid-name
labels=None,
logits=None,
name=None):
传入的logits为神经网络输出层的输出,shape为[batch_size,num_classes],传入的label为一个一维的vector,长度等于batch_size,每一个值的取值区间必须是[0,num_classes),其实每一个值就是代表了batch中对应样本的类别
【TensorFlow】关于tf.nn.sparse_softmax_cross_entropy_with_logits()
tf.nn.sparse_softmax_cross_entropy_with_logits(logits=D_x,labels=tf.ones_like(D_x)
在我们这里呢我们的logits=D_x
也就是输入真实图片是discriminator输出的评分,由于我们的batch_size是1,所以是一个[1,1]的张量。labels=tf.ones_like(D_x)
给定一个张量 (D_x)
),这个操作返回一个与 D_x
类型和形状相同的张量,所有元素都设置为 1,所以label也是一个[1,1]的张量,我们来算他们的交叉熵
<