我正在跟踪this tutorial,为MNIST分类建立一个简单的网络。我想绘制相同的损耗和精度曲线。我看到了this SO post,损耗曲线很好。但是我不知道如何做到同样的准确性。我在optimise function
session.run(optimizer, feed_dict=feed_dict_train)
if i % 100 == 0:
loss=session.run(cost, feed_dict=feed_dict_train)
acc = session.run(accuracy, feed_dict=feed_dict_train)
loss_list.append(loss)
acc_list.append(acc)
plt.plot(loss_list,acc_list)
出现错误
InvalidArgumentError:您必须使用dtype int64和形状[?]为占位符张量'y_true_cls'提供一个值。 [[node y_true_cls(定义为:2)]]
由于某种原因,我无法在accuracy
内运行optimise function
。如何获得精度曲线?
答案 0 :(得分:1)
y_true_cls 指出您需要提供真实的类标签。从您提到的博客中:-
feed_dict_test = {x: data.x_test,
y_true: data.y_test,
y_true_cls: data.y_test_cls}
def print_accuracy():
# Use TensorFlow to compute the accuracy.
acc = session.run(accuracy, feed_dict=feed_dict_test)
# Print the accuracy.
print("Accuracy on test-set: {0:.1%}".format(acc))
如您所见,准确度是 feed_dict_test ,其中y_true_cls是“ True_Labels”。 只有在预测和True类标签的帮助下,我们才能找到准确度。