[macOS Catalina 10.15.7, Python 3.5.10]
学習モデルを作成した際の精度や誤差の推移に関するグラフにソースファイル名(右上)と学習時間(右下)を追加しました。学習時間については別途CSVに記録しておくと後で使えます。
Jupyter Notebookは使わず、pyenv-virtualenvの仮想環境を作成し、ソースファイルをターミナルにドラッグ&ドロップして実行しています。
import time,datetime,os
start = time.time()
def plot_loss_accuracy_graph(history):
process_time = time.time() - start
td = datetime.timedelta(seconds = process_time)
dt_now = datetime.datetime.now()
dt_now_str = dt_now.strftime('%y%m%d%H%M')
image_loss ='{}_loss.png'.format(dt_now_str)
image_accuracy ='{}_accuracy.png'.format(dt_now_str)
fig = plt.figure()
plt.plot(history.history['loss'], "-D", color="blue", label="train_loss", linewidth=2)
plt.plot(history.history['val_loss'], "-D", color="black", label="val_loss", linewidth=2)
plt.title('LOSS')
fig.text(0.7, 0.95, os.path.basename(__file__))
fig.text(0.8, 0.03, str(td))
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend(loc='upper right')
plt.tight_layout()
fig.savefig(image_loss)
fig2 = plt.figure()
plt.plot(history.history['acc'],"-o", color="green", label="train_accuracy", linewidth=2)
plt.plot(history.history['val_acc'],"-o",color="black", label="val_accuracy", linewidth=2)
plt.title('ACCURACY')
fig2.text(0.7, 0.95, os.path.basename(__file__))
fig2.text(0.8, 0.03, str(td))
plt.xlabel('Epochs')
plt.ylabel('Accuracy')
plt.legend(loc="lower right")
plt.tight_layout()
fig2.savefig(image_accuracy)