Skip to content

第5章5.2.1,节中,我看这里计算了使用非滑动平均和滑动平均的inference。但是在计算交叉熵的时候,只用到了非滑动平均的预测值。而在评价accuracy的时候,却是用了使用滑动平均的预测值。请问这里为什么不用使用滑动平均的预测值来计算交叉熵呢?因为评价的时候就是用了使用滑动平均的预测值啊。 #129

Description

@ccq195

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug
/kind feature

What happened:

What you expected to happen:

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:

Activity

  1. changed the title [-]我看这里计算了使用非滑动平均和滑动平均的inference。但是在计算交叉熵的时候,只用到了非滑动平均的预测值。而在评价accuracy的时候,却是用了使用滑动平均的预测值。请问这里为什么不用使用滑动平均的预测值来计算交叉熵呢?因为评价的时候就是用了使用滑动平均的预测值啊。[/-] [+]第5章5.2.1,节中,我看这里计算了使用非滑动平均和滑动平均的inference。但是在计算交叉熵的时候,只用到了非滑动平均的预测值。而在评价accuracy的时候,却是用了使用滑动平均的预测值。请问这里为什么不用使用滑动平均的预测值来计算交叉熵呢?因为评价的时候就是用了使用滑动平均的预测值啊。[/+] on Oct 23, 2018
  2. robbertliu commented on Nov 27, 2018

    @robbertliu

    这个问题我当时也发现了,后来考虑了一天才搞懂。
    1.我做过一个实验,就是用滑动平均来计算交叉熵,训练的效果几乎为0,准确率在0.09左右几乎不动。
    2.后来我反复研究,应该这么去解释:滑动平均会儿对变量创建所谓的影子变量,而你在进行BP,是对变量进行更新,故在inference计算交叉熵的时候,用变量。当时你在预测的时候,因为用了滑动平均的优化方法,需要对真实的变量进行滑动平均取值,故在inference也就是评价accuracy时,用滑动平均的inference。

  3. Cuiqingyao commented on Mar 1, 2019

    @Cuiqingyao

    我按照第5章5.2.1节中代码运行,但是准确率很低
    如果将
    correct_prediction = tf.equal(tf.argmax(average_y, 1), tf.argmax(y_, 1))
    改为
    correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
    准确率就和书上的一致了
    请问书上是怎么样设置参数得到准确率98.6%的呢?
    使用滑动准确模型做的预测结果的准确率和书上的并不符合

  4. AnJinqi commented on Apr 8, 2019

    @AnJinqi

    代码中滑动均值计算方式有问题。

  5. custa commented on Apr 22, 2019

    @custa

    我也注意到这个问题,目前没理解这两处差别的意义。
    mark下

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions