申请专栏作者 参展
投稿发布
您的当前位置:主页 > 机器学习 > 正文

tensorboard 指南

来源: 时间:2020-01-13
请支持本站,点击下面的广告后浏览!
01、名称域
tensorFlow 图表有两种连接关系:数据依赖和控制依赖。数据依赖显示两个操作之间的tensor流程,用实心箭头指示,而控制依赖用点线表示。
 
02、实现原理
Event: 展示训练过程中的统计数据(最值,均值等)变化情况
Image: 展示训练过程中记录的图像
Audio: 展示训练过程中记录的音频
Histogram: 展示训练过程中记录的数据的分布图
 
具体原理:
在运行过程中,记录结构化的数据
运行一个本地服务器,监听6006端口
请求时,分析记录的数据,绘制
 
在构建graph的过程中,记录你想要追踪的Tensor
with tf.name_scope('output_act'):
    hidden = tf.nn.relu6(tf.matmul(reshape, output_weights[0]) + output_biases)
    tf.histogram_summary('output_act', hidden)
Graph的最后要写一句这个,给session回调
merged = tf.merge_all_summaries()
 
Session 中调用
构造两个writer,分别在train和valid的时候写数据:
train_writer = tf.train.SummaryWriter(summary_dir + '/train', session.graph)
valid_writer = tf.train.SummaryWriter(summary_dir + '/valid')
 
这里的summary_dir存放了运行过程中记录的数据,等下启动服务器要用到
 
构造run_option和run_meta,在每个step运行session时进行设置:
summary, _, l, predictions = session.run([merged, optimizer,loss,train_prediction], options=run_options, feed_dict=feed_dict)
 
注意要把merged拿回来,并且设置options
 
在每次训练时,记一次:
train_writer.add_summary(summary, step)
 
在每次验证时,记一次:
valid_writer.add_summary(summary, step)
 
达到一定训练次数后,记一次meta做一下标记
train_writer.add_run_metadata(run_metadata, 'step%03d' % step)
 
03、借用各个板块的可视化结果来帮助我们调优模型
step 1: 查看 graph 结构
step 2:查看 accuracy,weights,biases
step 3: 修改 code
step 4: 选择最优模型
step 5: 用 embedding 进一步查看 error 出处
 
04、可视化训练过程代码
tf.histogram_summary()
 
用来绘制图片, 第一个参数是图表的名称, 第二个参数是图表要记录的变量
 
 tf.summary.histogram(layer_name + '/weights', Weights)
 
tf.r_summary()
 
Loss 的变化图和之前设置的方法略有不同. loss是在tesnorBorad 的event下面的
 
   tf.summary.scalar('loss', loss)
 
tf.merge_all_summaries()
 
方法会对我们所有的 summaries合并到一起.
 
sess= tf.Session()
 
merged = tf.summary.merge_all()
 
writer = tf.summary.FileWriter("logs/", sess.graph)
 
sess.run(tf.global_variables_initializer())
 
writer.add_summary
 
以上这些仅仅可以记录很绘制出训练的图表, 但是不会记录训练的数据。为了较为直观显示训练过程中每个参数的变化,我们每隔上50次就记录一次结果 , 同时我们也应注意, merged 也是需要run 才能发挥作用的,所以在for循环中写下:
 
for i in range(1000):
   sess.run(train_step, feed_dict={xs:x_data, ys:y_data})
   if i%50 == 0:
      rs = sess.run(merged,feed_dict={xs:x_data,ys:y_data})
      writer.add_summary(rs, i)
 
tensorboard --logdir logs
 
程序运行完毕之后, 会产生logs目录 , 使用命令
 
声明:文章收集于网络,版权归原作者所有,为传播信息而发,如有侵权,请联系小编删除,谢谢!
 
 


转发量:

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
数据标注服务

关于我们   免责声明   广告合作   版权声明   联系方式   原创投稿   网站地图  

Copyright©2005-2019 Sykv.com 可思数据 版权所有    ICP备案:京ICP备14056871号

人工智能资讯   人工智能资讯   人工智能资讯   人工智能资讯

扫码入群
咨询反馈
扫码关注

微信公众号

返回顶部
关闭