2016-01-31 36 views
2

提出以下是此页https://www.tensorflow.org/versions/0.6.0/tutorials/deep_cnn/index.html需要提示的练习中Tensorflow卷积神经网络教程

运动对提出的问题行使:推断的输出是未归一logits。尝试 编辑网络体系结构以使用tf.softmax()返回标准化预测 。

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

这是我提出的解决方案。

步骤1:在实施例(推断的)最后层是“softmax_linear”,即,它根本的非标准化 WX + B转化。按照规定,我们将tf.nn.softmax作业与softmax_linear作为输入。这将输出标准化为范围[0,1]上的概率。

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

就是这样。反馈请恳求。

回答

0

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

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