テンソルボードを使用してスカラー (チャート) を視覚化します。
記事ディレクトリ
1. ログファイルの初期化
まず、main.py にある次のコードを導入する必要があります。
このうち、logdir はログファイルが保存されるディレクトリです。
import tensorflow as tf
logdir = './tensorboard/test1/'
summary_writer = tf.summary.create_file_writer(logdir)
プロジェクトの構造は次のとおりです。
2. 図を作成する
次に、次のコードをトレーニング場所に追加する必要があります。
ここで損失を記録します。step は、テンソルボード折れ線グラフの横軸であるステップ サイズを表し、通常は現在のエポックで表されます。ここでの縦軸は損失値です。
with summary_writer.as_default():
tf.summary.scalar('d_loss', d_loss, step=epoch)
tf.summary.scalar('g_loss', g_loss, step=epoch)
3. コマンドを実行し、tensorboard を正常に開きます。
このとき、画面下部の「ターミナル」ボタンをクリックし
、小さな逆三角形をクリックして、「コマンドプロンプト」をクリックする必要があります。
ログ ファイルが保存されているフォルダーに移動します。(ここでは tensorboard フォルダーに入ります)
これは最後のステップです。次のコマンドを実行する必要があります。
tensorboard --logdir=test1 --port=6007
logdir はどのログ フォルダーであるかを示します。ここでのログ フォルダーは test1 です。
port は、プログラムが実行されているポート番号を指定します。私が使用しているポート番号は6007です。
正常に実行されると、次の内容が表示されます。リンクをクリックするとテンソルボードにジャンプします。
Tensorboard はトレーニングプロセスを可視化し、現在のトレーニング状況をリアルタイムで確認できます。
PS: エラーが表示されます: 現在のデータ セットに対してアクティブなダッシュボードがありません
もちろん、初めて使用したときは上記のインターフェースにうまくジャンプせず、次のインターフェースにジャンプしました。
理由 1 : この時点ではプログラムが実行されていない可能性があり、ログ ファイルにデータがないため、当然グラフを表示できません。
解決策: プログラムを起動し、ログ ファイルにデータが存在するまで実行を開始してから、インターフェイスを更新して再試行します。
理由 2 : ログ ファイルのパスが間違っており、tensorboard がファイルを見つけることができません。
logdir = './tensorboard/test1/'
解決策: ログ ファイルへのパスを修正します。
理由 3 : 元々設定されていたポート 6007 が他のプロセスによって占有されています。
tensorboard --logdir=test1 --port=6007
解決策: ポートを別の番号 (6006、6008、6009 など) に変更します。