如何保存由keras实验运行产生的数据结果?

时间:2018-04-17 19:50:54

标签: machine-learning neural-network keras conv-neural-network

我想在keras 而不是模型中保存我的实验结果。例如,我想保存以下内容:

''' Plots '''
if plot:
    # Plots for training and testing process: loss and accuracy
    plt.figure(0)
    plt.plot(cnn.history['acc'],'r')
    plt.plot(cnn.history['val_acc'],'g')
    plt.xticks(np.arange(0, nb_epochs+1, 2.0))
    plt.rcParams['figure.figsize'] = (8, 6)
    plt.xlabel("Num of Epochs")
    plt.ylabel("Accuracy")
    plt.title("Training Accuracy vs Validation Accuracy")
    plt.legend(['train','validation'])


    plt.figure(1)
    plt.plot(cnn.history['loss'],'r')
    plt.plot(cnn.history['val_loss'],'g')
    plt.xticks(np.arange(0, nb_epochs+1, 2.0))
    plt.rcParams['figure.figsize'] = (8, 6)
    plt.xlabel("Num of Epochs")
    plt.ylabel("Loss")
    plt.title("Training Loss vs Validation Loss")
    plt.legend(['train','validation'])

如何保存所有这些以便我可以再次绘制情节并检查训练期间发生的事情?

网站:

https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model

似乎没有解释它......帮助?

1 个答案:

答案 0 :(得分:1)

pickle模块允许你序列化python对象。

您可以使用以下方式保存历史记录:

pkl.dump(cnn.history, file_obj)

如果您想将地块保存为图像:

plt.savefig(path)

您还可以尝试挑选matplotlib图/轴对象来重新创建交互式图,但此功能是实验性的。我建议只是腌制你的历史记录,然后用上面的代码重新生成这些图。