2015-12-24 14 views
25

私が作成したcnnモデルのさまざまなハイパーパラメータをテストしていますが、Tensorboardで要約を表示するときに少し煩わしさがあります。問題は、データが連続して実行されているだけで「追加」されているため、「ステップごと」ではなく「相対」と情報が表示されない限り、関数は奇妙な重ね合わせになります。ここを参照してください:テンソルフローのインスタンスを消去した後にテンソルボードのデータをリセットする方法

X Type: Step

X Type: Relative

私はtensorboardのプロセスを強制終了し、ログファイルを消去しようとしましたが、それは十分ではないようです。

この情報をリセットするにはどうすればよいですか。

ありがとうございます!

+0

ログファイルを削除してWebアプリケーションを再起動しても、古いデータが表示されるのは変わったようです。多分ブラウザのキャッシングですか? – fabrizioM

答えて

12

何らかの理由でそれが前に動作しませんでしたが、今それがなかった、[OK]を:

あなたはTensorboardのログファイルを消去しなければならないとフリーポート6006へのプロセスの実行fuser 6006/tcp -kを殺した後

そのプロセスを殺します(あなたがLinuxにいる場合)、テンソルボードをもう一度起動してください。

+1

--reload_intervalに渡された秒数が経過するまで気付かないが、古いディレクトリを削除して(または名前を変更して)リフレッシュさせるだけで済みそうだ。 – golvok

19

注:あなたが投稿した解決策(TensorBoardのログファイルを消去してプロセスを終了)は機能しますが、トレーニングに関する履歴情報が破壊されるため好ましくありません。

代わりに(新しいトップレベルのログディレクトリの)新しいサブディレクトリに新しいトレーニングジョブを書き込むことができます。次に、TensorBoardは各ジョブを新しい「実行」と見なし、素晴らしい比較ビューを作成します。その結果、モデルの反復の間にどのようにトレーニングが異なるかを確認できます。

たとえば、次を参照してください。https://www.tensorflow.org/tensorboard/

+3

確かに。あなたが描いているのは、私がたくさん使ったテンソルフローの殺す機能です。しかし、時には、すべてが期待どおりに動作するかどうかを繰り返し確認する必要があります。だからこそ私はすべてを拭き取り、ゼロから始めなければならなかったのです – mathetes

+3

リンクが壊れています:( – mjaskowski

6

はい、私は最終的にこの側面が正であると信じています。私のスクリプトでは、私はdatetimeを経由して、新たな実行ログを自動化する例として
、:TensorBoardを実行するとき

from datetime import datetime 
now = datetime.now() 
logdir = "tf_logs/.../" + now.strftime("%Y%m%d-%H%M%S") + "/" 

次に、あなたが親ディレクトリにTensorBoardを走ってオンとオフの異なる実行をクリックすることができます。

あなたは前回の実行を気にし、あなたの人生の外にそれをしたくない知っ場合は、[はい、あなたはイベントのファイルを削除してTensorBoardを殺害し、再起動の異常に長いプロセスを我慢する必要があります。

3

私はこの問題の解決方法を考え出しました。各Events.outファイルをログディレクトリ内の別のフォルダに配置するだけです。そして、あなたはテンソルボードで素晴らしい視覚効果を得るでしょう。

0

コードに次のスニペットを追加すると、自動的にテンソルボードがリセットされます。

これにより、以前のログが削除されます。

+0

これは完全には機能しません - 毎回TBをシャットダウンして再起動する必要があります – Novak

0

これにより、自動的にログディレクトリが削除されます。

import shutil 

shutil.rmtree('log_dir', ignore_errors=True) 
+0

この機能の役割と理由これは正しい解決策だと思います。また、コードの書式設定を使用することを検討してください;-) – Fabien

0

私はしかし、計算、グラフの重複と、同様の問題があった:彼らはちょうどtensorboardに追加した私は私の場合は

writer.add_graph(graph=sess.graph) 

を呼び出したときに、それがログファイルについてはなかったが、ジュピターノートの文脈について

私はグラフの定義とJupyterセルを複数回実行した後、グラフがリセットされていないが、重複として文脈に登場することを考え出したので、私は建物の開始前に

tf.reset_default_graph() 

を追加しました計算グラフ。

希望すると助かります。

関連する問題