1.

首先保证你已有程序,下面是MLP实现手写数字分类模型的代码实现。

不懂的可以对照注释理解。

#输入数据是28*28大小的图片,输出为10个类别,隐层大小为300个节点
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
mnist = input_data.read_data_sets("MNIST_data/",one_hot=True)
sess = tf.InteractiveSession()
x = tf.placeholder(dtype=tf.float32,shape=[None,784])
y_ = tf.placeholder(dtype=tf.float32,shape=[None,10])
image_reshaped_input = tf.reshape(x,[-1,28,28,1])
tf.summary.image('input',image_reshaped_input,10)
#tf.summary.image()用于将图像类型的tensor添加在Summary协议缓冲区中
#其本质就是将tensor统计存储,用于将来展示在tensorboard上
#在计算图中添加了一个新的节点,第一个参数是节点名称,第二个参数是接收的tensor
#第三个参数是最大存储的图像数目,此处指定为10,表明最多存储10个图像
#tf.summary.image()接受的tensor形状必须为[batch_size,height,width,channels],
#所以上面才对输入数据进行了reshape()操作
#channels为1时,图像被解析为灰度图,为3时解析为RGB图像,为4时解析为RGBA图像
W1 = tf.Variable(tf.truncated_normal([784,300],stddev=0.1))
b1 = tf.Variable(tf.zeros([300]))
hidden1 = tf.nn.relu(tf.matmul(x,W1)+b1)
keep_prob = tf.placeholder(tf.float32)
hidden1_drop = tf.nn.dropout(hidden1,keep_prob)
W2 = tf.Variable(tf.zeros([300,10]))
b2 = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(hidden1_drop,W2)+b2)
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_*tf.log(y),reduction_indices=[1]))
tf.summary.scalar("cross_entropy",cross_entropy)
#tf.summary.scalar()用于将标量类型的tensor统计存储,形成折线图,用于可视化
#在计算图中添加了一个新的节点,第一个参数是节点名称,第二个参数是接收的tensor
train_step = tf.train.AdagradOptimizer(0.3).minimize(cross_entropy)
prediction_result = tf.argmax(y,1)
tf.summary.histogram("prediction_result",prediction_result)
#t.summary.histogram()用于将向量类型的tensor统计存储,形成直方图,用于可视化
#在计算图中添加了一个新的节点,第一个参数是节点名称,第二个参数是接收的tensor correct_prediction = tf.equal(tf.argmax(y_,1),prediction_result)
accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
tf.summary.scalar("accuracy",accuracy)
merged = tf.summary.merge_all()
#这一步操作的意义在于:如前所述,所有的summary操作本质上是graph中的一个节点
#tensorflow程序运行的时候,由于计算其他的变量不需要用到summary的结果,所以需要指定运行每一个summary
#如如果程序中定义了多个summary,那么每一个summary都需要运行一次,写起来太麻烦
#tf.summary.merge_all()可以将所有的summary操作拼成一个,这样只需要运行一次即可
writer = tf.summary.FileWriter("./logs",sess.graph)
#这一步将计算图以event文件的格式存入了./logs文件夹当中
#注意此时会话尚未开始执行,所有变量也都未初始化,所以实际上之前定义的summary还统计不到任何信息
tf.global_variables_initializer().run()
for i in range(3000):
batch_xs,batch_ys = mnist.train.next_batch(100)
_,summary = sess.run((train_step,merged),feed_dict={x:batch_xs,y_:batch_ys,keep_prob:0.75})
#需要对merged的所有summary执行sess.run()的操作,才可以确保数据流入了统计图中
writer.add_summary(summary,i)
#writer的add_summary()方法将某一个step的summary统计结果添加到了event文件中,i是step数
#这里实际上就是将每一个step的数据都添加到了event文件当中
#由此我们也理解了summary起到的统计的作用,实际上其统计的就是某一个tensor在不同的时刻的值的变化情况
#tf.summary.scalar将标量统计为折线图,tf.summary.histogram将向量统计为直方图
print("The final resultis"+str(accuracy.eval({x:mnist.test.images,y_:mnist.test.labels,keep_prob:1.0})))

2.跑完程序后到程序当前目录下log文件夹找到 文件events.

3.这一步是启动TensorBoard:

复制上面的路径,win10下打开Powershell ,输入:

tensorboard --logdir 上面的路径

4. 然后打开浏览器,我的是微软的edge浏览器,输入上面得到的网址:

http://localhost:

就得到了想要的图

------ ------------------------------------------------------------------------------------------------------分割线

如果在shell中只输入tensorboard命令就显示出错,则按以下步骤添加环境变量即可

1.搜索编辑系统环境变量

2.点环境变量,双击PATH

3.点击新建,把python路径添加进去,我的是anaconda下的Scripts,点进去复制上面的路径,新建添加的就是这个路径。

(图中最后一条)

再点击确定就行,这样就把环境变量添加好了,再输入tensorboard命令就不会出错了。

tensorboard的简单使用的更多相关文章

  1. Tensorboard 的简单使用

    确保环境以及安装好tensorflow以及tensorboard 下面通过一个简单的例子来显示一下使用方式,一个向量加法的图结构. import tensorflow as tf a = tf.con ...

  2. 机器学习与Tensorflow(6)——LSTM的Tensorflow实现、Tensorboard简单实现、CNN应用

    最近写的一些程序以及做的一个关于轴承故障诊断的程序 最近学习进度有些慢 而且马上假期 要去补习班 去赚下学期生活费 额.... 抓紧时间再多学习点 1.RNN递归神经网络Tensorflow实现程序 ...

  3. [Pytorch]PyTorch使用tensorboardX(转

    文章来源: https://zhuanlan.zhihu.com/p/35675109 https://www.aiuai.cn/aifarm646.html 之前用pytorch是手动记录数据做图, ...

  4. Tensorflow模型加载与保存、Tensorboard简单使用

    先上代码: from __future__ import absolute_import from __future__ import division from __future__ import ...

  5. 超简单tensorflow入门优化程序&&tensorboard可视化

    程序1 任务描述: x = 3.0, y = 100.0, 运算公式 x×W+b = y,求 W和b的最优解. 使用tensorflow编程实现: #-*- coding: utf-8 -*-) im ...

  6. tensorboard简单使用

    代码写的再好,没有图别人也不知道好在哪. 我们在使用tensorflow的时候,使用tensorboard可以直观的看到我们的网络结构,甚至它可以计算卷积和池化的维度(我不知道是不是因为我已经运行了一 ...

  7. 如何简单使用tensorboard展示(二)

    我使用tensorboard继续做了标量展示与直方图展示,在一的基础做了拓展,其改写代码如下: import numpy as npimport tensorflow as tfimport rand ...

  8. 如何简单使用tensorboard展示(一)

    我使用tensorboard中的graph做了展示,至于其它功能可以类推,其代码如下: import numpy as npimport tensorflow as tf x_img = np.arr ...

  9. Tensorflow学习笔记3:TensorBoard可视化学习

    TensorBoard简介 Tensorflow发布包中提供了TensorBoard,用于展示Tensorflow任务在计算过程中的Graph.定量指标图以及附加数据.大致的效果如下所示, Tenso ...

随机推荐

  1. Redis系列之----Redis的两种持久化机制(RDB和AOF)

    Redis的两种持久化机制(RDB和AOF) 什么是持久化    Redis的数据是存储在内存中的,内存中的数据随着服务器的重启或者宕机便会不复存在,在生产环境,服务器宕机更是屡见不鲜,所以,我们希望 ...

  2. AspectJ——预编译方式实现AOP

  3. Java操作Jxl实现数据交互。三部曲——《第一篇》

    Java操作Jxl实现.xsl及.xsls两种数据表格进行批量导入数据到SQL server数据库. 本文实现背景Web项目:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js ...

  4. 用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!

    写在前面 考研在即,想多了解考研er的想法,就是去找学长学姐或者去网上搜索,贴吧就是一个好地方.而借助强大的工具可以快速从网络鱼龙混杂的信息中得到有价值的信息.虽然网上有很多爬取百度贴吧的教程和例子, ...

  5. Scala实践9

    1.特征 Traits用于在类之间共享接口和字段.它们类似于Java 8的接口.类和对象可以扩展特征,但是特征不能被实例化,因此没有参数. 定义一个特征 最小特征只是关键字trait和标识符: tra ...

  6. invalid expression: missing ) after argument list in xxx 或者 console.error(("[Vue warn]: " + msg + trace));

    效果图:   此处错误原因   中文输入法的 逗号 导致    :   解决方案: 改为 英文输入法的 逗号

  7. java面试题-集合类

    准备年后要跳槽,所以最近一直再看面试题,并且把收集到的面试题整理了以下发到博客上,希望对大家有所帮助. 首先是集合类的面试题 1.  HashMap 排序题,上机题. 已知一个 HashMap< ...

  8. vs推送git失败,修改git下config的Log

    一开始写完程序套推送到Git中,然后就来了一下,下面的异常: 异常1 发布到远程存储库时遇到错误: Git failed with a fatal error. fatal: HttpRequestE ...

  9. 一文带你看清HTTP所有概念

    上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性.我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的 ...

  10. FreeRTOS独立看门狗检测任务执行状态

    为了保证FreeRTOS的所有用户任务都在正常的运行,我们通过独立看门狗的形式来检测,一旦发现有某个任务长时间没有执行,看门狗就会将系统复位. 运行条件: 创建5个用户任务Task1,Task2,Ta ...