测试数据集的张量流预测

时间:2018-05-01 15:33:27

标签: python tensorflow

我无法在prediction上打印test data

任何人都可以帮我在输出步骤中填写sess.run的输入谢谢!

def nn_model(data):  
    convnet = conv_2d(in_data, 32, 3, padding='same', activation='relu')  
    convnet = max_pool_2d(convnet, 2)  

logits = nn_model(next_element)  
prediction = tf.argmax(logits, 1)  

with tf.Session() as sess:  
    sess.run(init_op)  
    sess.run(training_init_op)  
    for i in range(epochs):  
        l, _, acc = sess.run([loss, optimizer, accuracy])  

output = sess.run(prediction, ***{logits:nn_model(test_data)}***)
output = np.argmax(output)
print("The prediction for test is :", output)

1 个答案:

答案 0 :(得分:0)

在这一行:

output = sess.run(prediction, ***{logits:nn_model(test_data)}***)

您似乎试图将测试数据(可能是numpy格式)传递给logitslogits传统上是模型输出的名称,这非常令人困惑。在nn_model函数中,您应该返回logits(模型的输出)和输入的占位符。通常你会有这样的事情:

x = tf.placeholder(tf.float32, shape=(None, 1024))
labels = tf.placeholder(tf.float32, shape=(None,))

现在您的输出类似于:

output = sess.run(logits, feed_dict={x:test_data, y:test_labels}

对于测试数据,您可能不需要传递标签,但如果您想要计算准确性,则需要它们,您可以根据需要决定。

以下是一些您可以遵循的非常好的示例:

https://github.com/aymericdamien/TensorFlow-Examples