qq_37639537 2019-03-10 20:00 采纳率: 0%
浏览 4068

请问 tensorflow 在训练网络过程中,如何在使用验证集进行验证时,不 让权值发生变化?

我按照书本上MNIST识别的过程把代码撸了一遍,按照他给的代码,每进行一千次迭代,使用验证集进行一次验证。但是我感觉这样的话那一次的验证应该也会改变网络的权。我查网上的资料验证集应该不参与训练才对,请问如何在训练过程中,验证时不改变网络的权值?。万分感谢!!!

with tf.Session() as sess:
    tf.global_variables_initializer().run()
    validate_feed = {x: mnist.validation.images, y_: mnist.validation.labels}
    test_feed = {x: mnist.test.images, y_: mnist.test.labels}
    for i in range(max_steps): #总迭代次数
        if i % 1000 == 0:      #每1000次迭代使用验证集进行验证
            validate_accuracy = sess.run(accuracy, feed_dict=validate_feed)
            print(validate_accuracy)
        xs, ys = mnist.train.next_batch(batch_size=100)
        sess.run(train_op, feed_dict={x: xs, y_: ys})

    test_accuracy = sess.run(accuracy, feed_dict=test_feed)
    print(test_accuracy)

代码如上,是不是每进行一次验证的时候,他的权值都会发生改变?怎么让它不发生变化呢

  • 写回答

3条回答

  • Macropodus 博客专家认证 2019-03-12 17:55
    关注

    我觉得可以设置一个is_training参数,走到self.logits那里就直接return,要再走train跟新了。具体可以参考文本分类github项目
    https://github.com/brightmart/text_classification

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题