2017-10-29 15 views
0

TensorFlowの単純な「Hello、World」tutorialに従っています.TensorBoardを使用して、勾配降下損失の複数の繰り返しにわたって機械学習の損失を表示しようとしています。TensorFlowのTensorBoardにイベントグラフが表示されない

私はJupyter(IPython)ノートブックですべてを正しく追っていたと思いますが、TensorBoardが視覚化するためにファイルに保存されたイベントは生成されていないと思います。私はその後、TensorBoardをチェックアウト

summary_y = tf.summary.scalar('output', y) 
summary_writer = tf.summary.FileWriter('log_simple_stats') 
sess.run(tf.initialize_all_variables()) 
for i in range(100): 
    summary_str = sess.run(summary_y) 
    summary_writer.add_summary(summary_str, i) 
    sess.run(train_step) 

が、一点だけあります:

は、ここに私のコードです。曲線のあるグラフが必要です。

enter image description here

私はまた、ディレクトリ内の私の出力ファイルを見ました。あまりないが、出力ファイル(のみ84バイト)に書き込まれているようだ:

-rw-r--r-- 1 user.name group 84 Oct 29 13:00 events.out.tfevents.1509307239.mymacbookpro.local 

は、私がイベントを表示TensorBoard持って何ができますか?

答えて

1

コードでは、すべてのデータがフラッシュされるようにFileWriterを閉じる必要があります。コードをスクリプトとして実行すると、スクリプトが終了するとファイルが閉じられます。しかし、この場合、コードはJupyterで実行されるため、Pythonプロセスはそのコードブロックが完了した後も引き続き実行されます。出力

enter image description here

:それが終わると、TensorBoardは反復回数を超える減少損失の影響が表示されます

summary_y = tf.summary.scalar('output', y) 
summary_writer = tf.summary.FileWriter('log_simple_stats') 
sess.run(tf.initialize_all_variables()) 
for i in range(100): 
    summary_str = sess.run(summary_y) 
    summary_writer.add_summary(summary_str, i) 
    sess.run(train_step) 

summary_writer.close() # <--- Add this line! 

:したがって、あなたはそうのようなclose()ステートメントを追加する必要がありますイベントファイルも大きくなります:

-rw-r--r-- 1 user.name group 4638 Oct 29 13:02 events.out.tfevents.1509307332.mymacbookpro.local 
+0

それは私の問題を解決しました。ありがとう!私は、ターミナルからPythonスクリプトを実行していても、スクリプトの最後に、summary_writerが閉じられていない可能性があります。したがって、 'summary_writer.close()'を追加することは、まったく良い習慣です。 – Neb

関連する問題