x の二乗 の計算をTensorboard でグラフ化する

の単純な加算をグラフ化するサンプルです。 初めてTensorboard を使用する場合の勉強、ひな形として使用してください。

スポンサーリンク


スポンサーリンク

サンプルコード

以下サンプルコードです。ポイントは以下の通りです。

以下の2段階で実行しています。

(1)関数を定義します。ここでは 以下で定義 z しています。
_x = tf.placeholder(tf.int32)
_y=tf.square(_x)
z = tf.summary.scalar("graph", _y)

関数の入力 _x は placeholder として定義します。_x にはセッション開始時に feed_dict={ _x:x } として与えています。

(2)セッションを実行しています。セッション実行時にはplaceholder に値を指定する必要があります。

関数を定義する。

Python バージョン:Python2.7
OSバージョン:Ubuntu 16.04.2
#tensorboardにscalar,GRAPHSを追加する
#y=x*xのグラフを定義して、グラフを可視化する
import tensorflow as tf
_x = tf.placeholder(tf.int32)
_y=tf.square(_x)
z = tf.summary.scalar("graph", _y)

with tf.Session() as sess:
    summary_writer = tf.summary.FileWriter('/tmp/logfile', graph=sess.graph)
    sess.run(tf.global_variables_initializer())
    #プロットしたグラフを生成する
    for x in range(-10, 10):
        summary_str = sess.run(z, feed_dict={_x:x})
        summary_writer.add_summary(summary_str, x)
    summary_writer.close()

実行手順

(1)Pythonコードの実行

Pyton インタープリタから上記のコードを実行します。実行結果は以下のディレクトリに保存されます。
/tmp/logfile
ディレクトリは事前に作成しておいてください。このディレクトリを変更したい場合は、ソース内の該当の箇所を好きなディレクトリに変更してください。
コードがエラーなく実行が終了したら、以下のようなファイルが生成されていることを確認してください。
# ls /tmp/logfile/
events.out.tfevents.1497791084.username-pcname
これがグラフの元となるデータです。もしファイルが生成されていない場合は実行に失敗しています。コードや実行結果を再確認してください。

(2)Tensorboard 実行

ターミナルから以下のコマンドを実行します。上記のコードを実行したのと同じPC上で実行します。
# tensorboard --logdir=/tmp/logfile
Starting TensorBoard 47 at http://0.0.0.0:6006
(Press CTRL+C to quit)

(3)ブラウザから実行確認

同じPC上のブラウザから 127.0.0.1:6006 へアクセスします。
その後[GRAPHS]を選択します。これで 1+1 のグラフが表示されるはずです。

エラー、表示されない場合の対応

Graph visualization failed: TypeError: rawNodes is undefined で tensorboard のグラフが表示されない

tensorboard が表示されない場合の対処

TensorboardでNo graph definition files were found のエラー

スポンサーリンク

[Tensorboard サンプル一覧へ戻る]