如何在python中使用.log文件绘制损耗与历元图

时间:2018-08-25 01:55:48

标签: python matplotlib tensorflow graph keras

我有一个training.log文件,其中包含

时期,acc,损失,val_acc,val_loss

0,0.3362708558291825,1.7554432798434318,0.32878239064221265,1.9248546749544395

1,0.44641053328276503,1.4846536312246443,0.4288102535608254,1.6995067473539371

2,0.48078999617260126,1.3865143429660396,0.5075229869044302,1.34374766792883

3,0.5082378348294684,1.315985157798793,0.5161604904205097,1.2767660616831913

4,0.5180953707906859,1.2740170841302745,0.5090554472080809,1.3178076734115036

5,0.5380194364147063,1.2369382053114344,0.5238227918972441,1.286055219077107

2 个答案:

答案 0 :(得分:0)

使用pandas和pyplot非常简单:)

下面是一些示例代码:

import pandas as pd
import pylab as plt

# Create dataframe
file_name = "training.log"
df = pd.DataFrame.from_csv(file_name)
df.plot()
plt.show()

答案 1 :(得分:0)

1。让张量板按照以下步骤执行绘制任务 在设置的环境中键入以下命令

tensorboard --logdir=path/to/log-directory

一旦TensorBoard运行,将您的Web浏览器导航到 localhost:6006 以查看TensorBoard。您可以在训练模型时通过在fit方法中提及回调方法来生成日志文件。通常我更喜欢张量板方式 keras callback How do I use the Tensorboard callback of Keras?

  1. 另一种方法是访问日志文件中的所有参数并使用matplotlib 读取日志文件,并将适当的值放在下面的代码片段中

    绘制损耗曲线

    plt.figure(figsize=[8,6])
    plt.plot('access loss value from log file','r',linewidth=3.0)
    plt.plot('access val_loss from log file','b',linewidth=3.0)
    plt.legend(['Training loss', 'Validation Loss'],fontsize=18)
    plt.xlabel('Epochs ',fontsize=16)
    plt.ylabel('Loss',fontsize=16)
    plt.title('Loss Curves',fontsize=16)
    

绘制精度曲线

plt.figure(figsize=[8,6])
plt.plot('access acc value from log file','r',linewidth=3.0)
plt.plot('access val_acc from log file,'b',linewidth=3.0)
plt.legend(['Training Accuracy', 'Validation Accuracy'],fontsize=18)
plt.xlabel('Epochs ',fontsize=16)
plt.ylabel('Accuracy',fontsize=16)
plt.title('Accuracy Curves',fontsize=16)