tensorboard可以将训练过程中的一些参数可视化,比如我们最关注的loss值和accuracy值,简单来说就是把这些值的变化记录在日志里,然后将日志里的这些数据可视化。

首先运行训练代码

#coding:utf-8
import  tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data#载入数据集
mnist = input_data.read_data_sets("MNIST_data", one_hot=True)
#每个批次的大小
batch_size = 100
#计算一共有多少个批次
n_batch =  mnist.train.num_examples // batch_size#参数概要 传入一个参数可以计算这个参数的各个相关值
def variable_summaries(var):with tf.name_scope('summaries'):mean = tf.reduce_mean(var)tf.summary.scalar('mean', mean)#平均值with tf.name_scope('stddev'):stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))tf.summary.scalar('stddev', stddev)#标准差tf.summary.scalar('max', tf.reduce_max(var))#最大值tf.summary.scalar('min', tf.reduce_min(var))#最小值tf.summary.histogram('histogram', var)#直方图         

with tf.name_scope('input'):
#定义两个placeholderx = tf.placeholder(tf.float32, [None,784],name='x-input') #输入图像y = tf.placeholder(tf.float32, [None,10],name='y-input') #输入标签
#创建一个简单的神经网络 784个像素点对应784个数  因此输入层是784个神经元 输出层是10个神经元 不含隐层
#最后准确率在92%左右
with tf.name_scope('layer'):with tf.name_scope('wights'):W = tf.Variable(tf.zeros([784,10]),name = 'W') #生成784行 10列的全0矩阵
        variable_summaries(W)with tf.name_scope('biases'):b = tf.Variable(tf.zeros([1,10]),name='b') variable_summaries(b)with tf.name_scope('softmax'):prediction = tf.nn.softmax(tf.matmul(x,W)+b)#二次代价函数
#loss = tf.reduce_mean(tf.square(y-prediction))
#交叉熵损失
with tf.name_scope('loss'):loss =tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels =y,logits = prediction))tf.summary.scalar('loss',loss)
#使用梯度下降法
#train_step = tf.train.GradientDescentOptimizer(0.2).minimize(loss)
train_step = tf.train.AdamOptimizer(1e-3).minimize(loss) #学习率一般设置比较小 收敛速度快#初始化变量
init = tf.global_variables_initializer()#结果存放在布尔型列表中
#argmax能给出某个tensor对象在某一维上的其数据最大值所在的索引值
with tf.name_scope('accuracy'):with tf.name_scope('correct_prediction'):correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(prediction,1))with tf.name_scope('accuracy'):accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))tf.summary.scalar('accuracy',accuracy)
#合并所有的summary
merged = tf.summary.merge_all()
with tf.Session() as sess:sess.run(init)writer = tf.summary.FileWriter('/home/xxx/logs/',sess.graph) #定义记录日志的位置for epoch in range(50): for batch in range(n_batch): #
            batch_xs,batch_ys = mnist.train.next_batch(batch_size)summary,_ = sess.run([merged,train_step],feed_dict={x:batch_xs,y:batch_ys})writer.add_summary(summary,epoch) #将summary epoch 写入到writeracc = sess.run(accuracy,feed_dict={x:mnist.test.images, y:mnist.test.labels}) print ("Iter " + str(epoch) + ",Testing Accuracy " + str(acc)) 

注意我将训练日志保存在 /home/xxx/logs/ 路径下,打开终端,输入以下命令 tensorboard --logdir=/home/xxx/logs/ 如下图所示

在浏览器中输入127.0.0.1:6006,可以看到可视化效果,如loss和accuracy的变化折线图

转载于:https://www.cnblogs.com/cnugis/p/7641133.html

Tensorflow学习教程------tensorboard网络运行和可视化相关推荐

  1. Tensorflow— tensorboard网络运行

    代码: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data#载入数据集 #当前路径 m ...

  2. Tensorflow学习教程集合

    前言 想学习TensorFlow,因此,在网上找了一堆的TensorFlow的学习资料. 但是,找了一些,发现很多资料都很不错.有些却是一般般. 资料 Tensorflow中文社区 莫凡大神的Tens ...

  3. Tensorflow学习教程------模型参数和网络结构保存且载入,输入一张手写数字图片判断是几...

    首先是模型参数和网络结构的保存 #coding:utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist impor ...

  4. Tensorflow学习教程------tfrecords数据格式生成与读取

    首先是生成tfrecords格式的数据,具体代码如下: #coding:utf-8import os import tensorflow as tf from PIL import Imagecwd ...

  5. ICCV2017 UCT:学习统一卷积网络进行实时可视化跟踪---论文笔记

    相关博客:https://blog.csdn.net/ms961516792/article/details/81462102 <UCT: Learning Unified Convolutio ...

  6. 【深度学习实战】---TensorBoard网络可视化

    [深度学习实战]-TensorBoard网络可视化 前记 为了能够更加深层次的理解我们的网络结构,不必要是画一份简简单单的网络的草图(如[深度学习实战]迈出第一步------编写第一个神经网络),那么 ...

  7. TensorFlow 教程 --进阶指南--3.3可视化学习

    TensorBoard:可视化学习 TensorBoard 涉及到的运算,通常是在训练庞大的深度神经网络中出现的复杂而又难以理解的运算. 为了更方便 TensorFlow 程序的理解.调试与优化,我们 ...

  8. fit函数 model_深度学习与Tensorflow学习笔记2 ——回调函数callbacks和Tensorboard

    上一期我们从Fashion-mnist数据集开始,使用Tensorflow.keras搭建一个简单的神经网络来处理分类问题.通过这个简单例子我们熟悉了tf.keras的调用.本期我们来学习keras下 ...

  9. TensorFlow入门教程(1)安装、基础、Tensorboard

    TensorFlow入门教程 本教程适合人群: - 会些python但不是特别精通 - 机器学习的初学者 本教程预计耗时: - 2-3小时 本教程预计效果: - 掌握TensorFlow的基础操作 - ...

最新文章

  1. Datawhale赛事大满贯来了!
  2. 函数重载(overload)
  3. python 画图 内存-python来做专项测试-内存测试
  4. 查看内核中每个函数花费的时间 initcall_debug
  5. js 中使用 时间datetime 类型到前端iOS 不兼容问题
  6. Oracle安装部署之RedHat安装Oracle11g_R2
  7. 北京市交管局联合高德地图发布北京中考出行提示
  8. 《21天学通HTML+CSS+JavaScript Web开发(第7版)》——2.6 Web托管
  9. ios的Navigation Controller的学习使用
  10. 使用Asp.net的TreeView来构建用户选择输入
  11. 关于渗透测试以及网络安全法
  12. c盘存放文件夹的功能
  13. 运算放大器由来及虚短虚断的讨论
  14. knockoutjs的某些坑总结
  15. PCB多层板设计总结-层的分布设置
  16. 【Flex】“安装的AdobeFlashPlayer不是调试器”解决办法之详解
  17. dilated conv的理解
  18. R语言中固定与随机效应Meta分析 - 效率和置信区间覆盖
  19. Java条形码生成-Barcode4j
  20. go扩展ticker实现优雅起停

热门文章

  1. SOCK_DGRAM(数据报套接字)与SOCK_STREAM(流套接口)的区别
  2. html5基础知识点表单
  3. 税友集团java面试题
  4. 零基础跟我学前端之css3基础
  5. IDEA查找接口实现类及快速实现接口的方法及常用快捷键
  6. 郑州百知面试题 SSM试题三
  7. spring mvc错误收集
  8. 算法训练 最长字符串 c语言
  9. 推荐系统论文DSIN:Deep Session Interest Network
  10. MySQL优化CPU消耗