[Python] AI 20 学習モデル・グラフへの情報追加

[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)