我试图在训练MLP后获得预测值,并且我执行以下操作
sess.run(tf.argmax(labels_test, 1), feed_dict={X: data_test, dropout_keep_prob: 1.})
不幸的是,上面一行会产生与此行相同的结果
sess.run(tf.argmax(labels_test, 1))
我的代码出了问题。我在这里错过了什么?
答案 0 :(得分:0)
labels_test
存在疑问:它看起来像您的测试数据的标签,不您的模型预测标签。如果是这种情况,则它不是data_test
的函数,并且没有理由它应该是任何不同的结果。简而言之,可能的问题是您实际上并未在模型上调用sess.run()
,而只是在测试数据的某些固定标签上调用。
那就是说,我猜是因为没有足够的细节来实际检查和解决问题。如果需要更全面的答案,请提供minimal working example。
答案 1 :(得分:0)
我刚刚找到了解决方案。一种方法
accuracy1, prediction1 = sess.run([accuracy, pred], feed_dict={X: data_test, y: labels_test, dropout_keep_prob: 1.})
或者只是为了获得预测值
predicted_values = sess.run(pred, feed_dict={X: data_test, y: labels_test, dropout_keep_prob: 1.})