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

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

TensorBoardを使ってみた

今回はTensorFlowのライブラリに付属しているTensorBoardなるものを使って色々可視化してみたいと思います。

参考にさせていただいたのはこちらです。

deepage.net

TensorBoard

TensorFlowにはTensorBoardという付属のツールがあって、こいつを使えるのがTensorFlowの結構大きなポイントだったりします。

TensorBoardではTensorFlowでの実行時に発生するデータを可視化・表現できます。 可視化できるものとして代表的なものはこんな感じらしいです。

使い方

TensorBoardでは、可視化したいデータや形式をプログラム中に明示的に指定することで、 TensorBoardが表示するための情報を裏で取得してくれるみたいです。

手順

そもそも動くTensorFlowを使用したコードがある状態から考えると、手順としてはこんな感じでしょうか。

  1. プログラム中に可視化用のコードを追加
  2. 普通にプログラムを実行
  3. TensorBoardを起動
  4. ブラウザからTensorBoardを開く

具体例

今回は試しにこの前使用したコードを使用してやってみます。

tsunotsuno.hatenablog.com

1. プログラム中に可視化用のコードを追加

使うためには、上のコードにちょびっと追加します。

# TensorBoardで追跡する変数を定義                                                                                                                               
with tf.name_scope('summary'):
    tf.summary.scalar('loss', cross_entropy)
    merged = tf.summary.merge_all()
    writer = tf.summary.FileWriter('./logs', sess.graph)

2. 普通にプログラムを実行

特に何も考えずに普通に実行してください。

python3 main.py

普通に実行します。 すると、カレントディレクトリにlogというディレクトリができているかと思います。 これができていれば、とりあえず問題なく動いていそうです。

3. TensorBoardを起動

実行が完了したら、TensorFlowを起動します。 TensorBoardは次のコマンドで起動します。

tensorboard --logdir=./logs

4. ブラウザからTensorBoardを開く

コンソールに出ているURLをブラウザに放り込めばTensorBoardを確認する事ができます。 きちんとTensorFlowが起動できていれば下のurlをで可視化結果が開きます。

http://localhost:6006/

f:id:nogawanogawa:20180131203555p:plain