添加记录节点 -> 汇总记录节点 -> run汇总节点 -> [书写器生成]书写入文件 [-> 刷新缓冲区]
一、TensorBoard 简介及使用流程
1、TensoBoard 简介
TensorBoard 和 TensorFLow 程序跑在不同的进程中,TensorBoard 会自动读取最新的 TensorFlow 日志文件,并呈现当前 TensorFLow 程序运行的最新状态。
2、TensorBoard 使用流程
- 添加记录节点:
tf.summary.scalar/image/histogram()
等- 汇总记录节点:
merged = tf.summary.merge_all()
- 运行汇总节点:
summary = sess.run(merged)
,得到汇总结果- 日志书写器实例化:
summary_writer = tf.summary.FileWriter(logdir, graph=sess.graph)
,实例化的同时传入 graph 将当前计算图写入日志- 调用日志书写器实例对象
summary_writer
的add_summary(summary, global_step=i)
方法将所有汇总日志写入文件- 调用日志书写器实例对象
summary_writer
的close()
方法写入内存,否则它每隔120s写入一次
with tf.name_scope('str'):上下文环境,每一个name_scope内的张量被统一到一个可展开的节点中,且可以嵌套,而带'name'属性的张量会成为可视化图中最小的节点。
超参数是张量,使用tf.summary.histogram(layer_name + '/biases', biases)记录,在网页的HISTOGRAM中查询
loss值是scalar标量,使用tf.summary.scalar('loss',loss)记录,在网页的SCALAR中查询
和Variable一样,记录值需要:
(1) merge = tf.summary.merge_all()统计整合
(2) sess.run(merge,feed_dict={xs:x_data,ys:y_data})去run出值来
(3) writer = tf.summary.FileWriter('./logs',sess.graph):启动可视化进程,指定日志文件存放位置。
(4) 记录值还需要writer.add_summary(result,i)去添加到书写器中输出到文件