DeepLab+TensorBoard
色々と比較してて「そういえば標準出力をチマチマ整形してグラフにせずともTensorBoardとかあったな…」と思い出したので。
特にPythonスクリプトを修正する必要はなく、DeepLabはデフォルトでTensorBoard用のログ出力が盛り込まれている。
コマンド
tensorboard --logdir <ログ出力先>
train.pyはtrain_logdirオプションで指定したディレクトリに、eval.pyはeval_logdirオプションで指定したディレクトリにTensorBoard用ログも出力される。
また、Google Colaboratiry上でDeepLabを動作させた場合、“バックアップと同期”でローカルと同期して以下パスを指定することができる。
tensorboard --logdir /Users/yogo/Google\ ドライブ/<マイドライブ以下のパス>
複数出力の比較
ハイパーパラメータ等を変更して損失・精度を比較したい場合はそれぞれのログ出力ディレクトリを格納した親ディレクトリを--logdirに指定することでグラフ上の比較ができる。
以下はbase_learning_rateを0.0028〜0.0044まで変化させた際のログ出力先train_on_trainvalを500step_0028〜5000step_0044にリネームした例。
同種のSCALARは一つのグラフにまとまっている。
左下のチェックボックスで表示/非表示を切り替えることも可能。
以下のようにtotal_lossを比較したいけどなんかギザギザして損失が改善してるのかよくわからない…という時は、Smoothingを上げてズームをかければよい。
注意事項
eval.pyがmiouを出力しないケースがあったが、再度eval.pyを実行すると出力された。タイミング依存? ■