qq_37639537
qq_37639537
2019-03-10 20:00

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

  • 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条回答

为你推荐

换一换