tensorboard详解
来源:互联网 发布:腾讯用的什么编程语言 编辑:程序博客网 时间:2024/06/04 00:51
名称域
tensorFlow 图表有两种连接关系:数据依赖和控制依赖。数据依赖显示两个操作之间的tensor流程,用实心箭头指示,而控制依赖用点线表示。
实现原理
- 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)
借用各个板块的可视化结果来帮助我们调优模型:
- step 1: 查看 graph 结构
- step 2:查看 accuracy,weights,biases
- step 3: 修改 code
- step 4: 选择最优模型
- step 5: 用 embedding 进一步查看 error 出处
可视化训练过程代码
tf.histogram_summary()
用来绘制图片, 第一个参数是图表的名称, 第二个参数是图表要记录的变量
tf.summary.histogram(layer_name + '/weights', Weights)
tf.scalar_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目录 , 使用命令
阅读全文
0 0
- tensorboard详解
- 详解TensorBoard如何调参
- 详解TensorBoard如何调参
- tensorboard
- tensorboard
- TensorBoard
- tensorboard
- TensorBoard
- tensorboard
- 详解 TensorBoard-如何调参
- TensorFlow框架(2)之TensorBoard详解
- 【TensorFlow | TensorBoard】理解 TensorBoard
- Tensorboard学习
- Tensorboard初步
- TensorBoard学习
- TensorFlow----TensorBoard
- TensorBoard使用
- tensorboard win7
- 小鹏汽车首批量产车下线,未来将进军L4级别自动驾驶
- 成人网站Pornhub上线了AI系统,用计算机视觉识别艺人和姿势
- 百度英伟达联手推混合精度训练,同样性能只需一半内存 | 附论文
- 数据结构<一> 排序算法之选择排序
- 多进程版文件加密系统
- tensorboard详解
- 电影《社交网络》中有哪些IT创业的TIPS!
- 6.Java集成开发环境
- 米转换为英尺
- LitePal的简单使用(kotlin实现)
- Material Design风格控件之AppbarLayout、CollapsingToolbarLayout 以及Toolbar的使用
- QML学习摘录 02
- android权限大全
- 陈天石吴翰清顾嘉唯光速对话(汤晓鸥今天没有晒娃)