shobylogy

叩けシンプルの杖

Jupyter NotebookでKerasのTraining進行状況を表示する(keras-tqdm)

Jupyter NotebookからKerasを使用すると、Trainingの進行状況がよくわからなくて不便ですよね。

keras-tqdmというライブラリを使うと、Jupyter NotebookでKerasのfitメソッドの進行状態をprogress barで表示してくれます。

GitHub - bstriner/keras-tqdm: Keras integration with TQDM progress bars

f:id:shoby:20170530231515p:plain

インストール方法

pipでインストールできます。

pip install keras-tqdm

使い方

modelのfitメソッドを呼び出す際に、callbackとして渡すだけです。

from keras_tqdm import TQDMNotebookCallback

model.fit(X_train, Y_train, verbose=0, callbacks=[TQDMNotebookCallback()])

トラブルシューティング

Widget Javascript not detected といったエラーが表示される場合、以下のコマンドを打った後に再起動する必要があるようです。

jupyter nbextension enable --py --sys-prefix widgetsnbextension

keras-tqdmが依存しているtqdmが内部でipywidgetsを使用しているため、ipywidgetsのセットアップが済んでいないとエラーが表示されるようです。

使用感

Keras上でもprogress barで各Epochの進行状況とlossが確認できるようになったため、学習経過の可視化に役立ちます。

ただし、Epoch数が増えてくるとその数だけprogress barが生成されて画面が圧迫されるので、EarlyStopping callbackを併用し、収束したタイミングで打ち切るようにするのをおすすめします。

まとめ

keras-tqdmを使うとJupyter Notebook上でもKerasのTraining進行状況が確認できて便利です。

Epoch数が増えてくると、大量にprogress barが生成されてしまうので、EarlyStopping callbackと併用するのをおすすめします。