为训练数据计算的准确度如何用于评估张量流中的测试数据
How accuracy calculated for train data is used for evaluating test data in tensorflow
在 tensorflow 中,模型是使用训练数据创建的,但我想知道如何使用训练数据计算的准确度评估测试数据。
correct_prediction = tf.equal(tf.argmax(pred, 1),tf.argmax(y_train, 1))
# Calculate accuracy
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
print "Accuracy:", accuracy.eval({x1: X_test, y1: y_test})
correct_prediction 用于训练数据,accuracy.eval() 用于通过测试数据集。
请解释这是如何完成的。
在 TensorFlow 中,您创建一个图形,其中数据在节点之间流动,从输入到输出。
举个简单的例子,MNIST。这是 TensorFlow 节点:
- 输入:
- 一批 28x28 图像:
images
形状 [batch_size, 28, 28, 1]
- 图像标签:
labels
形状 [batch_size, 10]
- 输出:
- 你的网络
pred
的预测,形状 [batch_size, 10]
- 模型的准确度:
accuracy
,形状 []
(标量)
这是图表:
images
|
(CNN)
|
labels pred
\ |
\ |
correct_prediction
|
accuracy
这两个输入节点是tf.placeholder
,这意味着你需要在其中手动输入值。
根据你是训练还是测试模型,你可以喂:
- 训练:用两个相应形状的numpy数组
X_train
和y_train
喂养images
和labels
,来自你的数据
- 用于测试:将
images
和 labels
与两个 numpy 数组 X_test
和 y_test
馈送 测试数据
使用此架构,同一张图 用于训练和测试。
区别在于:
- 在训练期间,您可能会 运行 火车运行
sess.run(train_op, feed_dict={images: X_train, labels: y_train})
- 在测试期间,您不再训练模型而只计算准确率:
sess.run(accuracy, feed_dict={images: X_test, labels: y_test})
在 tensorflow 中,模型是使用训练数据创建的,但我想知道如何使用训练数据计算的准确度评估测试数据。
correct_prediction = tf.equal(tf.argmax(pred, 1),tf.argmax(y_train, 1))
# Calculate accuracy
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
print "Accuracy:", accuracy.eval({x1: X_test, y1: y_test})
correct_prediction 用于训练数据,accuracy.eval() 用于通过测试数据集。 请解释这是如何完成的。
在 TensorFlow 中,您创建一个图形,其中数据在节点之间流动,从输入到输出。
举个简单的例子,MNIST。这是 TensorFlow 节点:
- 输入:
- 一批 28x28 图像:
images
形状[batch_size, 28, 28, 1]
- 图像标签:
labels
形状[batch_size, 10]
- 一批 28x28 图像:
- 输出:
- 你的网络
pred
的预测,形状[batch_size, 10]
- 模型的准确度:
accuracy
,形状[]
(标量)
- 你的网络
这是图表:
images
|
(CNN)
|
labels pred
\ |
\ |
correct_prediction
|
accuracy
这两个输入节点是tf.placeholder
,这意味着你需要在其中手动输入值。
根据你是训练还是测试模型,你可以喂:
- 训练:用两个相应形状的numpy数组
X_train
和y_train
喂养images
和labels
,来自你的数据 - 用于测试:将
images
和labels
与两个 numpy 数组X_test
和y_test
馈送 测试数据
使用此架构,同一张图 用于训练和测试。
区别在于:
- 在训练期间,您可能会 运行 火车运行
sess.run(train_op, feed_dict={images: X_train, labels: y_train})
- 在测试期间,您不再训练模型而只计算准确率:
sess.run(accuracy, feed_dict={images: X_test, labels: y_test})