Как построить график потерь против эпох, используя файл .log в python - PullRequest
0 голосов
/ 25 августа 2018

У меня есть файл training.log, который содержит

эпоху, акк, убыток, val_acc, val_loss

0,0.3362708558291825,1.7554432798434318,0.32878239064221265,1.9248546749544395

10.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 голосов
/ 25 августа 2018

1. Пусть тензорная доска выполняет задачу построения графика, выполнив следующие шаги Введите следующую команду в заданной среде

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

После запуска TensorBoard перейдите в свой веб-браузер на localhost: 6006 , чтобы просмотреть TensorBoard. Вы можете создать файл журнала, просто упомянув метод обратного вызова в методе fit при обучении модели. В основном я предпочитаю тензорный путь обратный вызов keras Как использовать обратный вызов Tensorboard 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)
0 голосов
/ 25 августа 2018

Довольно просто, используя панд и 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...