前回はtensorboardX導入までして、なんとなく動いてそうなことを確認しました。
今回はもうちょっといじくり回して見たいと思います。
tensorboardXについて
tensorboardXのドキュメントっぽいのはこちらにありました。
Welcome to tensorboardX’s documentation! — tensorboardX documentation
学習過程を見てみる
とりあえず、NNの学習についてはlossが監視できると嬉しいので、それをやってみます。 シンプルなNNならlossは一つだけなので、そのスカラ値を書き出してみたいと思います。
使うメソッドはadd_scalarでしょうか。
コードはこんな感じです。
実行すると、currentディレクトリ直下に"runs"ディレクトリができますので、これをログディレクトリに指定します。 tensorboardを起動させて確認してみるとこんな感じで見えるかと思います。
これでlossが監視できるようになりました。
生成された画像を見てみる
GANをやってるとGeneratorで生成された画像がどんなもんか確認しながら進めます。 中間生成物の画像を確認してみます。 使うのはおそらくadd_imageでしょうか。
コードはこんな感じになっちゃいました。
実行して確認してみます。
画像上部をスライドさせると学習の経過に沿って画像の変化を確認できます。
感想
PyTorchでも学習の様子をモニタリングできそうです。 githubにはなんかChainerの文言もあるので、ひょっとしたらChainerも動くのかもしれません。 TensorBoardは使用ライブラリに縛られずに使用できそうです。