目前接触到的TensorBoard可视化教程中都使用了tf.summaries.merge_all,但是我只想跟踪训练loss和测试集accuracy,而且测试集accuracy的更新频率要低很多,所以再使用tf.summaries.merge_all就不是很方便了.因此需要分开run定义的tf.summary.scalar().

基于MNIST的MLP实现代码如下:

# -*- coding: utf-8 -*-import time
start =time.clock()from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_DATA/", one_hot = True)
import tensorflow as tf
tf.reset_default_graph() sess = tf.InteractiveSession()log_dir = './logs'
in_units = 784
h1_units = 300
W1 = tf.Variable(tf.truncated_normal(shape = [in_units, h1_units], mean = 0, stddev = 0.1))
tf.add_to_collection('losses', tf.contrib.layers.l2_regularizer(0.001)(W1))
b1 = tf.Variable(tf.zeros(shape = [h1_units]))
W2 = tf.Variable(tf.zeros(shape = [h1_units,10]))
tf.add_to_collection('losses', tf.contrib.layers.l2_regularizer(0.001)(W2))
b2 = tf.Variable(tf.zeros(shape = [10]))x = tf.placeholder(dtype = tf.float32, shape = [None, in_units])
keep_prob = tf.placeholder(dtype = tf.float32)h1 = tf.nn.relu(tf.matmul(x,W1)+b1)
h1_drop = tf.nn.dropout(h1, keep_prob)
y = tf.nn.softmax(tf.matmul(h1_drop, W2)+b2)
y_ =tf.placeholder(tf.float32, [None,10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
tf.add_to_collection('losses', cross_entropy)total_loss = tf.add_n(tf.get_collection('losses'))
cross_entropy_sum = tf.summary.scalar('cross_entropy', cross_entropy)
#cross_entropy_sum_merge = tf.summary.merge(cross_entropy_sum)
#cross_entropy = (-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[0,1]))train_step = tf.train.AdagradOptimizer(0.2).minimize(total_loss)if_correct = tf.equal(tf.argmax(y,1), tf.argmax(y_, 1))acc = tf.reduce_mean(tf.cast(if_correct, tf.float32))
acc_sum = tf.summary.scalar('acc', acc)
#acc_sum_merge = tf.summary.merge(acc_sum)train_writer = tf.summary.FileWriter(log_dir + '/train', sess.graph)
saver = tf.train.Saver()
#merged = tf.summary.merge_all()tf.global_variables_initializer().run()
for i in range(20000):batch_xs, batch_ys = mnist.train.next_batch(100)_, sum1 = sess.run([train_step, cross_entropy_sum], feed_dict={x: batch_xs, y_: batch_ys, keep_prob: 0.75})train_writer.add_summary(sum1, i)if i%100 == 1:sum2 = sess.run(acc_sum, feed_dict={x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0})train_writer.add_summary(sum2, i)
#           saver.save(sess, log_dir+'/model.ckpt', i)train_writer.close()print(acc.eval({x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}))end = time.clock()
print('Running time: %s Seconds'%(end-start))
#
#$ tensorboard --logdir=/home/cheng/AnacondaProjects/learn_tf/tensorboard/logs/train
#浏览器输入:localhost:6006

输出结果为:

TensorBoard对训练过程可视化(不用tf.summaries.merge_all)相关推荐

  1. 【深度学习】模型训练过程可视化思路(可视化工具TensorBoard)

    [深度学习]模型训练过程可视化思路(可视化工具TensorBoard) 文章目录 1 TensorBoard的工作原理 2 TensorFlow中生成log文件 3 启动TensorBoard,读取l ...

  2. PyTorch下的可视化工具(网络结构/训练过程可视化)

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | 锦恢@知乎 来源 | https://zhuanlan.z ...

  3. tensorflow笔记:模型的保存与训练过程可视化

    tensorflow笔记系列:  (一) tensorflow笔记:流程,概念和简单代码注释  (二) tensorflow笔记:多层CNN代码分析  (三) tensorflow笔记:多层LSTM代 ...

  4. notebook 显示图片、训练过程可视化

    前言 在使用notebook训练模型,可以使用 tensorboard 来可视化训练过程的指标,比如精度.召回率.损失大小等等.生成的结果图片可以使用IPython来显示. 一.显示图片 使用 IPy ...

  5. 通过tensorboard查看训练过程(训练趋势图查看)

    通过tensorboard查看训练过程: 点击Terminal,输入命令 tensorboard --logdir="runs/train/exp11" 其中,runs/train ...

  6. 最全深度学习训练过程可视化工具(附github源码)

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 Datawhale干货 作者:Edison_G,来源:计算机视觉研究院 编辑丨极市平台 ...

  7. 的训练过程_最全深度学习训练过程可视化工具(附github源码)

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 Datawhale干货 作者:Edison_G,来源:计算机视觉研究院编辑丨极市平台. ...

  8. 利用Xshell映射云端服务器的visdom,进行训练过程可视化

    某些神经网络的训练代码中含有可视化visdom,需要通过visdom进行训练过程追踪.如果是云端服务器,则需要通过一些方式监听云端服务器visdom的信息,这个过程我们把它叫做 "映射&qu ...

  9. yolov5训练过程可视化

    软硬件环境 ubuntu 18.04 64bit pytorch 1.7 cuda 11.0 yolov5 4.0 nvidia gtx 1070Ti 前言 前文  yolov5 V4.0更新了啥? ...

最新文章

  1. rust腐蚀 木制窗户怎么修_装修窗帘怎么选最划算?记住这3点,至少能省大几千...
  2. Kali渗透测试——快速查找Metasploit的模块
  3. DNS原理及其解析过程
  4. Leetcode 146. LRU缓存机制 解题思路及C++实现
  5. 《剑指offer》c++版本 7.重建二叉树
  6. Linux基础命令---文本显示more
  7. C++11新增的关键字decltype(auto)
  8. Android日志Log使用
  9. 一、PHP框架Laravel——入门和安装
  10. Python的多行输入与多行输出
  11. microsoft账号登陆一直在加载_英雄联盟手游下载,附带拳头账号注册教程
  12. 信息学奥赛一本通(1229:电池的寿命)
  13. 多图技术贴:深入浅出解析大数据平台架构
  14. HDU2030 汉字统计【入门】
  15. 传奇源码分析-服务器端
  16. 4. stm32启动代码分析(一)
  17. electron-mac应用-代码签名及公证(教科书式操作-亲测有效)
  18. linux使用tmux后台运行程序
  19. jpg转换pgm(其他图片格式转换类似)
  20. 企业资金链断裂如何表现在现金流量表中?看净现金流量吗?

热门文章

  1. vc禁止标题栏拖动窗口
  2. 用python解矩阵方程_用Python的Numpy求解线性方程组
  3. 给div添加漂亮的边框背景图
  4. 应用组件的名字与已安装应用有冲突
  5. 太强了哎 突然发现一个网安神器~
  6. 信号强度从百分比到分贝的转换
  7. Rockchip 红外遥控开发指南
  8. ORA-27301: OS failure message: No buffer space available
  9. 新款macbook pro发布了,但为什么不推荐购买
  10. 【matlab 图像处理】 guide 图像去雾系统