需要提示在Tensorflow卷积神经网络教程中提出的练习

时间:2016-01-31 07:59:07

标签: deep-learning tensorflow

以下是此页https://www.tensorflow.org/versions/0.6.0/tutorials/deep_cnn/index.html

上提出的问题
  

练习:推理的输出是非标准化的logits。尝试   编辑网络体系结构以返回标准化预测   使用tf.softmax()。

根据练习的精神,我想知道我是否在正确的轨道上(不是寻找编码的答案)。

这是我提出的解决方案。

第1步:示例中的最后一层(推理)是" softmax_linear",即它只是执行非标准化 WX + b转换。根据规定,我们将tf.nn.softmax操作与softmax_linear一起用作输入。这将输出标准化为范围[0,1]上的概率。

第2步:下一步是修改损失函数中的交叉熵计算。由于我们已经具有规范化输出,因此我们需要将tf.nn.softmax_cross_entropy_with_logits操作替换为普通cross_entropy(normalized_softmax, labels)函数(在计算损失之前不会进一步规范化输出)。我相信这个函数在tensorflow库中可以;需要写出来。

那就是它。我们诚挚地征求反馈意见。

1 个答案:

答案 0 :(得分:0)

如果您在tf.nn.softmax()中插入cifar10_eval.py(而不是cifar10.py),则第1步就足够了。例如:

logits = cifar10.inference(images)
normalized_logits = tf.nn.softmax(logits)
top_k_op = tf.nn.in_top_k(normalized_logits, labels, 1)