下面是在本页cnn/index.html上提出的练习问题
练习:推理的输出是非规范化的逻辑.尝试编辑网络体系结构以使用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库中的;它需要编写。
就这样。请您提供反馈。
发布于 2016-02-01 21:57:34
如果您将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)https://stackoverflow.com/questions/35111611
复制相似问题