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