使用load_model加载模型时绘制模型的测试精度

时间:2018-10-27 04:07:39

标签: python tensorflow plot keras

我正在尝试绘制使用tf.keras.models.load_model调用的模型的测试准确性(在训练和验证准确性方面获得令人满意的结果之后,我最初将模型另存为.h5文件)。

在培训和验证期间,我使用以下代码绘制了培训和验证的准确性:

epoch_list2 = list(range(1, len(hist2.history['acc']) + 1))
plt.plot(epoch_list2, hist2.history['acc'], epoch_list2, hist2.history['val_acc'])
plt.legend(("Training Accuracy", "Validation Accuracy"))
plt.show()

但是,当我现在调用模型以对看不见的数据进行测试(出于演示目的)时,我正在使用以下代码首先加载模型,然后对测试数据进行评估并最终计算准确性:< / p>

# Load the model
from keras.models import load_model
model = load_model('/home/ubuntu/CNN_Model.h5')
print(model.summary())

# Use model.evaluate:
test_score = model.evaluate(testset, labels, verbose = 0)
print("Accuracy: %.2f%%" % (test_score[1]*100))

现在我该如何绘制测试准确性得分?是否可以在加载模型的同时在同一张图中绘制所有三个(即培训,验证和测试得分)?

谢谢!

阿拜。

编辑

因此,在搜索堆栈后,我发现了这个link,可以帮助首先保存培训历史记录,然后将其重新加载。解决了这些问题后,我现在如何在一个图中绘制训练,验证和测试分数?

1 个答案:

答案 0 :(得分:0)

我认为您可以做的是将history.history ['val_acc'],history.history ['train_acc']保存到单独的.csv文件中。在加载模型并获得测试数据的准确性之后,将它们一起绘制在一个图中,其中test_accuracy当然只是图中的一个点,请确保在图中使用“制造商”。