tf.nn.softmax_cross_entropy_with_logits如何使用标签

时间:2018-08-24 02:04:50

标签: python-3.x tensorflow machine-learning neural-network computer-science

对于一项作业,我应该为其一部分编写一个单层神经网络。我想我大多数事情都对,但是当我尝试使用tf.nn.softmax_cross_entropy_with_logits方法时,出现错误消息“ ValueError:必须同时提供标签和logit。”显然,这意味着我需要同时提供标签和登录信息,因为我现在仅在代码中提供登录信息,因此我了解出了什么问题。我不明白的是,什么是标签以及在这种情况下如何使用它们?请记住,我是一个新手,并且对tensorflow和神经网络一般没有经验。谢谢!

1 个答案:

答案 0 :(得分:1)

在监督学习中,您必须提供标签以及训练数据,并且softmax_cross_entropy_with_logits计算logit和标签之间的softmax交叉熵。它有助于确定数据属于特定类别的可能性。您可以在这里https://www.tensorflow.org/api_docs/python/tf/nn/softmax_cross_entropy_with_logits

了解更多信息
h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob)

W_fc2 = weight_variable([1024, 10])
b_fc2 = bias_variable([10])

y_conv = tf.matmul(h_fc1_drop, W_fc2) + b_fc2    
cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y_conv))

我从使用softmax_cross_entropy_with_logits的tensorflow教程中为您提供了一段代码。这里y_是一个占位符,标签被馈送到该占位符。 softmax_cross_entropy_with_logits也目前不推荐使用。