TensorflowバックエンドでKerasを使用しています。私の仕事では、Inception、VGG、Resnetなどのいくつかのモデルのパフォーマンスをデータセットで比較します。複数のモデルのトレーニング精度を1つのグラフにプロットしたいと思います。 Tensorboardでこれを実行しようとしていますが、機能していません。
Tensorboardを使用して1つのプロットに複数のグラフをプロットする方法はありますか、これを行うことができる他の方法はありますか?
ありがとうございました
tf.summary.scalar("loss", cost)
ここで、costはテンソルですmerged_summary_op = tf.summary.merge_all()
summary = sess.run(merged_summary_op)
によってセッションでこの要約を実行することですmerged_summary_op
_を実行した後、summary_writerを使用して要約を作成する必要があります:summary_writer.add_summary(summary, Epoch_number)
where summary_writer = tf.summary.FileWriter(logs_path, graph=tf.get_default_graph())
tensorboard --logdir="logpath"
_を実行します==================== UPDATED =================
異なるモデルの精度と損失を異なるディレクトリに保存してから、テンソルボードが親ディレクトリを指すようにすると、同じグラフで異なるモデルの結果が得られます。私はこれを自分で試しましたが、うまくいきます。
各実行をメインフォルダーの下の異なるフォルダーに保存し、メインフォルダーでテンソルボードを開くだけです。
for i in range(x):
tensorboard = TensorBoard(log_dir='./logs/' + 'run' + str(i), histogram_freq=0,
write_graph=True, write_images=False)
model.fit(X, Y, epochs=150, batch_size=10, callbacks=[tensorboard])
ターミナルから、テンソルボードを次のように実行します:
tensorboard --logdir=logs
TensorboardXまたはpytorch 1.2の SummaryWriter を使用している場合、 add_scalars というメソッドがあります。
次のように呼び出します。
my_summary_writer.add_scalars(f'loss/check_info', {
'score': score[iteration],
'score_nf': score_nf[iteration],
}, iteration)
そして、次のように表示されます。
add_scalars
は、実行の編成を台無しにします。このリストに複数のエントリを追加します(したがって、混乱が生じます)。
代わりに次のことを行うことをお勧めします。
my_summary_writer.add_scalar(f'check_info/score', score[iter], iter)
my_summary_writer.add_scalar(f'check_info/score_nf', score_nf[iter], iter)