Py学习  »  Python

如何在python中使用.log文件绘制loss与epochs图

Mushtaq Patel • 6 年前 • 507 次点击  

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

历元,加速度,损失,加速度,损失

0,0.3362708558291825,1.755443279843318,0.32878239064221265,1.9248546749544395

1,0.44641053328276503,1.4846536312246443,0.4288102535608254,1.699506743539371

2,0.4807899617260126,1.3865143429660396,0.5075229869044302,1.34374766792883

3,0.5082378348294684,1.315985157798793,0.516160490425097,1.2767660616831913

4,0.5180953707906859,1.2740170841302745,0.5090554472080809,1.317807734115036

5,0.5380194364147063,1.2369382053114344,0.523827918972441,1.286055219077107

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38624
文章 [ 2 ]  |  最新文章 6 年前
devesh
Reply   •   1 楼
devesh    7 年前

1.让Tensorboard按照以下步骤完成绘图任务 在set环境中键入以下命令

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

一旦TensorBoard运行,请将Web浏览器导航到 本地主机: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)
Bob de Graaf
Reply   •   2 楼
Bob de Graaf    7 年前

使用熊猫和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()