KerasのバックエンドがTensorFlowだとTensorBoardを使ってLossやAccurayを可視化できますがバックエンドTheanoだとTensorBoardに相当するツールがありません..。そこでログからグラフを作成するスクリプトを作りました。
使い方
Cmd + C でログをクリップボードにコピー
例えば、
Train on 50000 samples, validate on 10000 samples Epoch 1/10 50000/50000 [==============================] - 4s - loss: 1.1514 - acc: 0.5976 - val_loss: 0.9149 - val_acc: 0.6829 Epoch 2/10 50000/50000 [==============================] - 4s - loss: 1.0144 - acc: 0.6488 - val_loss: 0.9346 - val_acc: 0.6722 Epoch 3/10 50000/50000 [==============================] - 4s - loss: 0.9641 - acc: 0.6665 - val_loss: 0.9359 - val_acc: 0.6847 Epoch 4/10 50000/50000 [==============================] - 4s - loss: 0.9388 - acc: 0.6775 - val_loss: 0.9194 - val_acc: 0.6845 Epoch 5/10 50000/50000 [==============================] - 4s - loss: 0.9073 - acc: 0.6849 - val_loss: 0.9186 - val_acc: 0.6955 Epoch 6/10 50000/50000 [==============================] - 4s - loss: 0.8893 - acc: 0.6953 - val_loss: 0.9356 - val_acc: 0.6851 Epoch 7/10 50000/50000 [==============================] - 4s - loss: 0.8660 - acc: 0.7039 - val_loss: 0.9151 - val_acc: 0.7018 Epoch 8/10 50000/50000 [==============================] - 4s - loss: 0.8497 - acc: 0.7074 - val_loss: 0.9022 - val_acc: 0.6981 Epoch 9/10 50000/50000 [==============================] - 4s - loss: 0.8419 - acc: 0.7096 - val_loss: 0.8970 - val_acc: 0.6927 Epoch 10/10 50000/50000 [==============================] - 4s - loss: 0.8261 - acc: 0.7157 - val_loss: 0.9318 - val_acc: 0.7027
をクリップボードへコピー
$ python generate_graph_from_log.py
を実行次のようなグラフが表示される
-o output_filename
をつけて実行すればファイルに出力されます
内部で pbpaste
コマンドを使っているのでクリップボードからの読み込みはMacだけですがファイルに保存しておけば他のOSでも使えます(引数で入力ファイル名を渡す)。
とりあえず自分用としてはこれで用を足しそうですが暇があったらグラフ出力をカスタマイズできるようにしたいと思います。