TensorBoard对训练过程可视化(不用tf.summaries.merge_all)
目前接触到的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)相关推荐
- 【深度学习】模型训练过程可视化思路(可视化工具TensorBoard)
[深度学习]模型训练过程可视化思路(可视化工具TensorBoard) 文章目录 1 TensorBoard的工作原理 2 TensorFlow中生成log文件 3 启动TensorBoard,读取l ...
- PyTorch下的可视化工具(网络结构/训练过程可视化)
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | 锦恢@知乎 来源 | https://zhuanlan.z ...
- tensorflow笔记:模型的保存与训练过程可视化
tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码注释 (二) tensorflow笔记:多层CNN代码分析 (三) tensorflow笔记:多层LSTM代 ...
- notebook 显示图片、训练过程可视化
前言 在使用notebook训练模型,可以使用 tensorboard 来可视化训练过程的指标,比如精度.召回率.损失大小等等.生成的结果图片可以使用IPython来显示. 一.显示图片 使用 IPy ...
- 通过tensorboard查看训练过程(训练趋势图查看)
通过tensorboard查看训练过程: 点击Terminal,输入命令 tensorboard --logdir="runs/train/exp11" 其中,runs/train ...
- 最全深度学习训练过程可视化工具(附github源码)
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 Datawhale干货 作者:Edison_G,来源:计算机视觉研究院 编辑丨极市平台 ...
- 的训练过程_最全深度学习训练过程可视化工具(附github源码)
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 Datawhale干货 作者:Edison_G,来源:计算机视觉研究院编辑丨极市平台. ...
- 利用Xshell映射云端服务器的visdom,进行训练过程可视化
某些神经网络的训练代码中含有可视化visdom,需要通过visdom进行训练过程追踪.如果是云端服务器,则需要通过一些方式监听云端服务器visdom的信息,这个过程我们把它叫做 "映射&qu ...
- yolov5训练过程可视化
软硬件环境 ubuntu 18.04 64bit pytorch 1.7 cuda 11.0 yolov5 4.0 nvidia gtx 1070Ti 前言 前文 yolov5 V4.0更新了啥? ...
最新文章
- rust腐蚀 木制窗户怎么修_装修窗帘怎么选最划算?记住这3点,至少能省大几千...
- Kali渗透测试——快速查找Metasploit的模块
- DNS原理及其解析过程
- Leetcode 146. LRU缓存机制 解题思路及C++实现
- 《剑指offer》c++版本 7.重建二叉树
- Linux基础命令---文本显示more
- C++11新增的关键字decltype(auto)
- Android日志Log使用
- 一、PHP框架Laravel——入门和安装
- Python的多行输入与多行输出
- microsoft账号登陆一直在加载_英雄联盟手游下载,附带拳头账号注册教程
- 信息学奥赛一本通(1229:电池的寿命)
- 多图技术贴:深入浅出解析大数据平台架构
- HDU2030 汉字统计【入门】
- 传奇源码分析-服务器端
- 4. stm32启动代码分析(一)
- electron-mac应用-代码签名及公证(教科书式操作-亲测有效)
- linux使用tmux后台运行程序
- jpg转换pgm(其他图片格式转换类似)
- 企业资金链断裂如何表现在现金流量表中?看净现金流量吗?