TensorBoard recording stats separate from training
我正在尝试使用 TensorBoard 来显示一些神经网络训练运行的图表。 (也就是说,训练期间的测试和验证准确度图,而不仅仅是网络结构。)有一些示例代码
以及本网站上的一些问题,所有这些似乎都遵循与示例代码相同的模式。也就是说,模式总是围绕着类似
1
|
summary, _ = sess.run([merged, train_step], …
|
所以基本上,运行训练步骤和记录统计数据以显示图表的操作被混为一谈。
就目前而言,这很好,但我正在尝试将图表改进为现有程序,该程序不可避免地会以稍微不同的方式做事,因此示例代码不会按原样工作。我真正想做的是隔离一些只记录统计信息的代码,与现有代码分开来进行训练。
如何在主训练循环中记录 TensorBoard 的统计数据,但与进行训练的代码分开?
您可以手动创建存储标量值的
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
summary_writer = tf.summary.FileWriter("path_to_log_dir") # … for i in range(max_training_steps): # compute the values of interest scalar_value_1 = … # … scalar_value_n = … # manually create tf.Summary object |
或者,您可以使用
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
scalar_pl_1 = tf.placeholder(tf.float32)
tf.summary.scalar("Metrics_1", scalar_pl_1) # … scalar_pl_n = tf.placeholder(tf.float32) tf.summary.scalar("Metrics_n", scalar_pl_n) # Merge all summaries summary_writer = tf.summary.FileWriter("path_to_log_dir") with tf.Session() as sess: feed_dict = {scalar_pl_1: scalar_value_1, scalar_pl_n: scalar_value_n} |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/267929.html