はじめに
こちらの記事の応用となります。 Jupyter notebookでセルの出力を制御する
ディープラーニングの学習はEPOCHとBATCHの2重ループで行うことが多いので、延々とログ表示が流れていきます。少し見辛いので学習中のログ表示を工夫してみました。
ログをスクロール表示
EPOCHの進み具合をプログレスバーで、BATCHのログを一定行数のスクロールで表示してみました。
from IPython.display import display
LOG_LINE_NUM = 10 # ログ出力行数の指定
line_list = []
dh = []
def log_print(line):
global line_list
if len(line_list) < LOG_LINE_NUM:
line_list.append(line)
dh.append(display(line, display_id=True))
else:
line_list = line_list[1:]
line_list.append(line)
for i, str in enumerate(line_list):
dh[i].update(str)
この関数を指定して、ログ出力のprint文をlog_print()に変更します。
まとめ
スッキリしました。
(追記。パフォーマンスに問題がありました。。。(涙))