【发布时间】:2018-07-11 13:44:24
【问题描述】:
我正在尝试在同一脚本、同一图表、同一会话中对 Tensorflow 中的神经网络进行训练和测试。我读到这是可能的,但是当我查看训练和测试操作的准确性/损失结果时,似乎这两个操作都只是训练过程的继续。例如。火车.acc。 epoch 将在 0.84 结束,然后测试将从 0.84 开始,在 0.87 结束,然后训练将以 acc 继续。 0.87...
我的代码是这样构造的:
1) 定义 acc 和 loss 的计算
calc_loss = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=labels, logits=logits)
acc, acc_op = tf.metrics.accuracy(labels=labels, predictions=predictions)
loss = tf.metrics.mean(calc_loss)
2) 在同一个 tf.session 中运行上述内容,例如对于ACC:
acc_value, acc_op_value = sess.run([acc, acc_op], feed_dict=feed_dict_train)
test_acc_value, test_acc_op_value = sess.run([acc, acc_op], feed_dict=feed_dict_test)
这两个字典包含不同的数据。 我的问题是,我是否需要为训练和测试定义不同的操作 - 这是训练和测试混淆的地方吗?或者不可能一次测试和训练?什么是一个干净而简单的方法来解决这个问题?说明这一点的代码示例的链接也会有所帮助(因为我无法找到任何直接回答我的问题的内容)。
【问题讨论】:
标签: python tensorflow neural-network training-data