Re:ゼロから始めるML生活

どちらかといえばエミリア派です

tensorboardXを使っていろいろ眺めてみる

前回はtensorboardX導入までして、なんとなく動いてそうなことを確認しました。

tsunotsuno.hatenablog.com

今回はもうちょっといじくり回して見たいと思います。

tensorboardXについて

tensorboardXのドキュメントっぽいのはこちらにありました。

Welcome to tensorboardX’s documentation! — tensorboardX documentation

学習過程を見てみる

とりあえず、NNの学習についてはlossが監視できると嬉しいので、それをやってみます。 シンプルなNNならlossは一つだけなので、そのスカラ値を書き出してみたいと思います。

使うメソッドはadd_scalarでしょうか。

コードはこんな感じです。

実行すると、currentディレクトリ直下に"runs"ディレクトリができますので、これをログディレクトリに指定します。 tensorboardを起動させて確認してみるとこんな感じで見えるかと思います。

f:id:nogawanogawa:20181106141508p:plain

これでlossが監視できるようになりました。

生成された画像を見てみる

GANをやってるとGeneratorで生成された画像がどんなもんか確認しながら進めます。 中間生成物の画像を確認してみます。 使うのはおそらくadd_imageでしょうか。

コードはこんな感じになっちゃいました。

実行して確認してみます。

f:id:nogawanogawa:20181108143742p:plain

画像上部をスライドさせると学習の経過に沿って画像の変化を確認できます。

感想

PyTorchでも学習の様子をモニタリングできそうです。 githubにはなんかChainerの文言もあるので、ひょっとしたらChainerも動くのかもしれません。 TensorBoardは使用ライブラリに縛られずに使用できそうです。