1.TensorBoard 使用流程
1.添加记录节点:tf.summary.scalar/image/histogram()等2.汇总记录节点:merged = tf.summary.merge_all() 3. 日志书写器实例化:summary_writer = tf.summary.FileWriter(logdir, graph=sess.graph),实例化的同时传入 graph 将当前计算图写入日志4. 运行汇总节点:summary = sess.run(merged),得到汇总结果5.调用日志书写器实例对象summary_writer的add_summary(summary, global_step=i)方法将所有汇总日志写入文件6.调用日志书写器实例对象summary_writer的close()方法写入内存,否则它每隔120s写入一次
2.示例代码
import tensorflow as tf
import numpy as np## prepare the original data
with tf.name_scope('data'):x_data = np.random.rand(100).astype(np.float32)y_data = 0.3*x_data+0.1#1.添加记录节点tf.summary.histogram('x_data', x_data)tf.summary.histogram('y_data', y_data)
##creat parameters
with tf.name_scope('parameters'):with tf.name_scope('weights'):weight = tf.Variable(tf.random_uniform([1],-1.0,1.0))#1.添加记录节点tf.summary.histogram('weight',weight)with tf.name_scope('biases'):bias = tf.Variable(tf.zeros([1]))#1.添加记录节点tf.summary.histogram('bias',bias)
##get y_prediction
with tf.name_scope('y_prediction'):y_prediction = weight*x_data+bias#1.添加记录节点tf.summary.histogram('y_prediction', y_prediction)
##compute the loss
with tf.name_scope('loss'):loss = tf.reduce_mean(tf.square(y_data-y_prediction))#1.添加记录节点tf.summary.scalar('loss',loss)tf.summary.histogram('loss', loss)
##creat optimizer
optimizer = tf.train.GradientDescentOptimizer(0.5)
#creat train ,minimize the loss
with tf.name_scope('train'):train = optimizer.minimize(loss)
#creat init
with tf.name_scope('init'):init = tf.global_variables_initializer()
##creat a Session
sess = tf.Session()
#merged
#2.汇总记录节点:
merged = tf.summary.merge_all()
##initialize
#3. 日志书写器实例化
writer = tf.summary.FileWriter("logs/", sess.graph)
sess.run(init)
## Loop
for step in range(101):sess.run(train)# 4. 运行汇总节点:rs=sess.run(merged)#5.6.调用日志writer.add_summary(rs, step)writer.close()
3.运行tensorbord
注意logs文件是和在此代码的同一目录下的。
在终端运行(logs外边的目录下): tensorboard --logdir logs
打开生成的网址即可。也可用 http://localhost:6006
。
用谷歌浏览器和火狐浏览器。其他浏览器可能不支持。
如果还是打不开网页。
在终端中打开上边代码(a.py)的文件位置。
python a.py
tensorboard --logdir logs
再打开tensorboard网址 。
参考:https://www.cnblogs.com/fydeblog/p/7429344.html
https://blog.csdn.net/gsww404/article/details/78605784
https://blog.csdn.net/gg_18826075157/article/details/78440766