TensorBoardによるTensorFlowプログラミングの可視化

TensorFlowによるプログラミングのメリットの一つに、TensorBoardが利用できることがあります。
TensorBoardは計算の過程や計算モデルを可視化することができます。

今回はこのTensorBoardの使い方を調べました。

 

 

 

TensorBoard

 

tensorboarのimage

 

TensorBoardはTensorFlowに付属しているデータの可視化ソフトです。
TennsorBoardではTensorFlowで構築した計算モデルや学習・損失の過程をWebベースで可視化することができます。

学習の過程を可視化することによって機械学習が正常に行われているかチェックすることができ、またハイパラメータのチューニングにも利用されます。

またTensorBoardはTensorFlowの付属ツールであるので、TensorFlowから非常に簡単に利用することができます。

 

 

TensorBoardでは次のようなデータを可視化することができます。

  • Scalars : スカラーの推移
  • Images: 画像データ
  • Graphs : 構築された計算グラフ
  • Histograms・Distributions : テンソルの分布情報の推移
  • Text : 文字情報

 

TensorBoardでデータの可視化を行うには次のようなステップを行います。

  • データ取得用命令の配置
  • データ取得命令の最後にマージ命令を配置
  • データの出力先を指定
  • データ取得とマージ命令を実行
  • データを出力する
  • TensorBoardを実行する

 

データ取得命令

Scalars

スカラー値の推移を取得するには次の関数を使用します。

入力するデータは必ずスカラー(0階テンソル)でなければなりません。

1階以上のテンソルを取得するためにはのちに述べる、Histograms・Distributionsを使用します。

 

Images

画像データを可視化するための、データ取得命令を示します。

 

  • 第一引数は登録名の指定
  • 第二引数は画像データ、フォーマットは[ミニバッチサイズ, 縦, 横, チャンネル数]の四階テンソル
  • 第三引数は記録する画像枚数の上限値

 

Graphs

計算グラフのデータ取得命令は特に必要ありません。TensorFlowの実行時に自動的に計算されます。

 

Graphsの便利な機能として name_scope があります。

name_scopeは計算グラフの各階層や処理をまとめ整理し、より見やすくすることができます。

 

name_scopeは次のように使用します。

 

このようにname_scopeを設定すると、入力処理はスコープ input で括られ、出力処理は スコープ output で括られてTensorFlow上で表示されます。

 

Histograms・Distributions

1階以上のテンソルの分布・推移を取得するために使用します。

 

tf.summary.histogram() を使用すると、TensorBoardではDistributionsとHistogramsの結果が表示されます。

 

 

データのマージ

データ取得命令を設置したら、最後にデータのマージを行います。

 

上記の命令ではデータのマージを一括で行うことができます。

個別に行いたい場合は次の関数を使用します。

 

マージの詳しい方法は下記記事にまとめましたので参考にしてください。

 

データの書き込み

データをファイルに書き込むには次の命令を使用します。

 

この命令を実行後ディレクトリ名の場所にログファイルができていることを確認してください。ログファイルができていれば、TensorBoardを使用することができます。

 

TensorBoardの実行

ログファイルを作成したら、TensorBoardを起動します。起動は端末上で次のコマンドを実行します。

上記のコマンドを実行すると次のような画面が出力されます。

後はブラウザーで上記に表示されたアドレスにアクセスすればTensorBoardを使用することができます。

 

まとめ

  • TensorBoardはTensorFlowに付属したデータ可視化ツールでです
  • でーたの取得には取得するデータに対応した命令をプログラム中に設定する
  • データ取得命令を設置したら、データのマージ命令を設置する。
  • マージしたデータを tf.summary.FileWriter を用いてログファイルの書きこむ
  • TensorBoardを起動し、WebブラウザーでTensorBoardにアクセスする

 

 

関連記事

ニューラルネットワーク・ディープラーニングのまとめ

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA