我正在使用带有Tensorflow后端的Keras。我的工作涉及在我的数据集上比较几个模型的性能,如Inception,VGG,Resnet等。 我想在一个图中绘制几个模型的训练精度。我试图在Tensorboard中这样做,但它不起作用。
有没有办法使用Tensorboard在一个图中绘制多个图形,还是有其他方法可以做到这一点?
谢谢
答案 0 :(得分:2)
只需将每个运行保存在主文件夹下的不同文件夹中,然后在主文件夹上打开tensorboard。
const obj = {
id: "user",
password: "password"
};
Object.keys(obj)
.forEach(function(key) {
const val = obj[key];
document.querySelector(`input[name="${key}"]`).value = val;
});
从终端运行tensorboard如下:
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])
答案 1 :(得分:2)
如果您使用的是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)
答案 2 :(得分:1)
tf.summary.scalar("loss", cost)
其中cost是张量`cost = tf.reduce_mean(-tf.reduce_sum(y * tf.log(pred),reduction_indices = 1))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)
其中summary_writer = tf.summary.FileWriter(logs_path, graph=tf.get_default_graph())
tensorboard --logdir="logpath"
====================更新=================
我已经尝试将不同模型的准确性和丢失保存到不同的目录,然后使张量板指向父目录并且它可以工作,您将在同一图表中获得不同模型的结果。我自己试过这个并且有效。