72
73

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Tensorboardの使い方まとめ

Last updated at Posted at 2019-03-05

TensorFlow

Tensorboadと直接関係のあるTensorflowの全体像は以下。

起動方法

JupyterNoteBook起動

起動コマンド

kannkyo/jupyter.sh
cd ~/
docker run --runtime=nvidia -it --rm -v $(realpath ~/notebooks):/tf/notebooks -p 8888:8888 -p 6006:6006 tensorflow/tensorflow:1.12.0-gpu-py3

from https://gist.github.com/kannkyo/8626729f0453b562146d17c25acdbaf9

画面確認

Tensorboard起動

起動要件

  • ブラウザ:Google Chrome or Firefox

起動コマンド

Jupyternotebookで New > Terminalを選択。Terminalで以下のコマンドを実行。

kannkyo/tensorboard.sh
tensorboard --logdir ./logs

from https://gist.github.com/kannkyo/03281eab59e3cca7a471727cae3543f1

画面確認

Tensorboardのキーコンセプト

TensorFlowデータ収集方式

audio

audio
tf.summary.audio(
    name,
    tensor,
    sample_rate,
    max_outputs=3,
    collections=None,
    family=None
)

from https://www.tensorflow.org/versions/r1.12/api_docs/python/tf/summary/audio

histogram

histogram
tf.summary.histogram(
    name,
    values,
    collections=None,
    family=None
)

from https://www.tensorflow.org/versions/r1.12/api_docs/python/tf/summary/histogram

image

image
tf.summary.image(
    name,
    tensor,
    max_outputs=3,
    collections=None,
    family=None
)

from https://www.tensorflow.org/versions/r1.12/api_docs/python/tf/summary/image

scalar

scalar
tf.summary.scalar(
    name,
    tensor,
    collections=None,
    family=None
)

from https://www.tensorflow.org/versions/r1.12/api_docs/python/tf/summary/scalar

text

text
tf.summary.text(
    name,
    tensor,
    collections=None
)

from https://www.tensorflow.org/versions/r1.12/api_docs/python/tf/summary/text

データ名のタグ付け方式

tag名は directory/like/hierarchy のように与える。 scalar と histogram ダッシュボードはtag名でグルーピングされる。

データロード方式

  • logdirで知られる特定のディレクトリに、TensorFlowから取得したサマリのデータを書き込む。
  • ファイル名がtfeventsで始まるファイルに追記モードでダンプする。
  • TensorBoardはlogdir内の全データを読み込む。処理を中断した場合を考えて自動的に全ファイル読み込むらしい。

モデルの実行結果比較方式

複数のTensorflowの実行結果を比較できる。

1つのディレクトリのサブディレクトリに格納
tensorboard --logdir /some/path/mnist_experiments
2つのディレクトリに別々に格納
tensorboard --logdir name1:/path/to/logs/1,name2:/path/to/logs/2

可視化

Scalar Dashboard

  • 統計スカラー量の時間変化を可視化する。

Histogram Dashboard

  • tf.summary.histogramを通じて統計分布の時間変化を可視化する。

Distribution Dashboard

  • tf.summary.histogramを通じて可視化するもう一つの方法。高レベルな統計を表示する。
  • 9本の折れ線が描かれていて、それぞれ[maximum, 93%, 84%, 69%, 50%, 31%, 16%, 7%, minimum]を意味する。
  • 折れ線が境目になっている3色の領域があり、これは内側から[σ, 2σ, 3σ]の幅を意味する。
  • チュートリアル 参照。

Image Dashboard

  • tf.summary.imageを通じてPNG画像を可視化する。
  • 行がtagに対応し、列がrunの実行に対応する。
  • 各tagの最新画像を表示する。

Audio Dashboard

  • tf.summary.audioを通じてplayable audio widgetsを表示する。
  • 行がtagに対応し、列がrunの実行に対応する。
  • 各tagの最新オーディオを表示する。

Graph Explorer

  • TensorFlowモデルの検査を可能にするグラフ図。

Embedding Projector

Text Dashboard

  • tf.summary.textを通じてテキストを表示する。
  • ハイパーリンク、リスト及び表を含むMarkdownをサポートする。

サンプル

Histogram & Distribution Dashboard

手順

  • チュートリアルのソースコードのパス名を logsに変更。
  • jupyter note bookで実行。
変更点
# Setup a session and summary writer
sess = tf.Session()
- writer = tf.summary.FileWriter("/tmp/histogram_example")
+ writer = tf.summary.FileWriter("./logs")

実行結果

Distribution

Distribution.png

Histogram

Histogram.png

Embedding Projector

手順

変更点
import os
import os.path
import shutil
import tensorflow as tf

- LOGDIR = "/tmp/mnist_tutorial/"
+ LOGDIR = "./logs"

実行結果

Projector

Projector.png

Some Dashboard & Graph Explorer

手順

  • MNISTを用いたScalar & Image & Histogram & Distribution DashboardとGraph Explorerの例。
  • mnist_with_summaries.pyのログディレクトリを変更。
  • jupyter note bookで実行。
変更点
  parser.add_argument(
      '--log_dir',
      type=str,
+     default=os.path.join('./logs'),
-     default=os.path.join(os.getenv('TEST_TMPDIR', '/tmp'),
-                           'tensorflow/mnist/logs/mnist_with_summaries'),
      help='Summaries log directory')
  FLAGS, unparsed = parser.parse_known_args()
  tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)

friom https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/mnist/mnist_with_summaries.py

実行結果

Distribution

Distribution.png

Graphs

Graphs.png

Histogram

Histogram.png

Images

Images.png

Scalar

Scalar.png

参考文献

72
73
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
72
73

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?