03-Tensorboard的使用 (老衲又卷土重来了!!!)
Tensorboard的使用
1、添加命名空间
在之前的程序的基础上添加命名空间,这样就可以把一些操作打包在一起了,更加有利于我们的可视化(使结构图更加的简洁)
命名空间的语法:
with tf.name_scope('name') #name为我们给这个空间取的名字
记得给变量取变量名:
x = tf.placeholder(tf.float32, [None, 784])
x = tf.placeholder(tf.float32, [None, 784], name='x_input')
# 命名空间
with tf.name_scope('input'):
# 定义两个placeholder
x = tf.placeholder(tf.float32, [None, 784], name='x_input')
y = tf.placeholder(tf.float32, [None, 10], name='y_input')
2、将得到的数据写入一个文件当中
第三行中,我们写了一个函数,用于将数据写入到指定的路径下。
with tf.Session() as sess:sess.run(init)writer = tf.summary.FileWriter('logs/', sess.graph) # 参数一为路劲,参数二为存放的结构
3、复制刚刚生成的文件的路劲
找到上一步(第二步)生成的文件,并复制该路劲
4、获取tensorboard的网址
打开命令行,输入如下代码
复制最后一行的IP地址到浏览器中打开,就可以得到可视化的tensorboard了。
注意:
在使用tensorboard的过程中,不可以将命令行的窗口给关了,或者结束操作,否则会出现下面的情况——无法访问此网站(路径要用全英文的,不然又可能加载不到数据)
1、程序完整结构:
图中:05/logs/events.out.tfevents.1524285137.ZL-WSJUN 为 生成的文件
图中:05/MINIST_data/tensorboard的使用 为代码文件
2、完整的代码:
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# 命名空间 with tf.name_scope('input'):# 定义两个placeholder x = tf.placeholder(tf.float32, [None, 784], name='x_input')y = tf.placeholder(tf.float32, [None, 10], name='y_input')# 创建一个简单的神经网络 W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) prediction = tf.nn.softmax(tf.matmul(x, W) + b)# 二次代价函数 loss = tf.reduce_mean(tf.square(y - prediction)) # 使用梯度下降法 train_step = tf.train.GradientDescentOptimizer(0.2).minimize(loss)# 初始化变量 init = tf.global_variables_initializer()# 结果存放在一个布尔型列表中 correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(prediction, 1)) # argmax返回一维张量中最大的值所在的位置 # 求准确率 accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))with tf.Session() as sess:sess.run(init)writer = tf.summary.FileWriter('logs/', sess.graph) # 第一个参数为路劲,第二个参数为存放的结构 for epoch in range(1):for batch in range(n_batch):batch_xs, batch_ys = mnist.train.next_batch(batch_size)sess.run(train_step, feed_dict={x: batch_xs, y: batch_ys})acc = sess.run(accuracy, feed_dict={x: mnist.test.images, y: mnist.test.labels})print("Iter " + str(epoch) + ",Testing Accuracy " + str(acc))
03-Tensorboard的使用 (老衲又卷土重来了!!!)相关推荐
- 官场直升机 鸿蒙笔著,担当:老衲笔尖无墨水,要从空处想鸿蒙
高清:3800幅古代绘画图库,1200幅齐白石作品图库,27G历代经典书法套装,4100幅西方大师经典油画,临摹学习绝佳素材! 1638年 (明崇祯十一年 戊寅46岁) 八月,徐霞客游滇.因陈眉公之介 ...
- 官场直升机 鸿蒙笔著,担当和尚:老衲笔尖无墨水,要从空处想鸿蒙
原标题:担当和尚:老衲笔尖无墨水,要从空处想鸿蒙 ▼ 1638年 (明崇祯十一年 戊寅46岁) 八月,徐霞客游滇.因陈眉公之介绍,至晋宁访担当.二人一见如故,十分契合.霞客在晋宁盘桓20天,并请担当为 ...
- “老衲印象”开发团队章程
"老衲印象"开发团队章程 (2014年10月修订) (一) 团队开发 每周六晚9点召开小组讨论例会,地点在紫荆1号楼315中厅.讨论会主要总结一周以来的课程内容和项目进度,讨论开 ...
- 记录一下:老衲的py路程 mac下的tkinter小应用
今天的主题 tkinter应用,参考运行结果效果图 上代码 import tkinter import tkinter.messagebox import tkinter.ttk listboxStu ...
- 师太,你就从了老衲吧
师太,你就从了老衲吧(完整版本)(转载) 一.普通版: 编辑跟某武侠作者约稿,要写一篇既打破世俗伦理,又包含江湖门派间多年怨情仇,同时情节还要扣人心悬,大有血雨腥风呼之欲来这样的微型武侠小说. 第二天 ...
- 师太你就从了老衲吧——完整版本
相当之有文采,哈哈[@more@] 一.普通版: 编辑跟某武侠作者约稿,要写一篇既打破世俗伦理,又包含江湖门派间多年怨情仇,同时情节还要扣人心悬,大有血雨腥风呼之欲来这样的微型武侠小说. 第二天交工, ...
- 谈谈老衲对闭包的理解!!综合了我在网上看的资料,把我的理解跟大家分享
1.第一点要讲的毋容置疑就是(什么事闭包了!!) 当一个函数有权访问另一个函数内部的变量是,就形成了闭包,举个'栗子' function a(){ var i; function b(){ i++ ...
- Problem-A 老衲的嘱托
这道题很简单,该怎么做,题目已经告诉我们了! 解题思路:考的就是一个DFS的应用,然后在进行一个选择判断就行了! 由于时间的关系,为了避免超时,可以优化进行剪枝一下!就是在找到了我们所需要的答案后,就 ...
- 天朝网络已将老衲搞哭在电脑前
博客园第一篇随笔,原来在Blogspot写了段时间,最近我天朝万里长城升级, 我等小鸟已被压榨待尽. 2015年,新的一年,我换了新的博客,换了新的学习方向,不在整天钻研着路由器交换机, 不在分析各种 ...
最新文章
- 百度不收录你网站的原因
- (42)VHDL实现多路复用器(case)
- Div+CSS教程----DivCSS布局绝对定位和浮动
- Linux定时器:无节拍机制tickless(CONFIG_NO_HZ)
- html垂直线性渐变,html5线性渐变
- linux 取出本机IP
- c# 定义委托和使用委托(事件的使用)
- Prototype两个常用监听器
- MySql处理Unicode字符串
- MySQL-Front设置中文
- 2019ug最新版本是多少_UG在2019年隆重发布最新版本,让你我都想不到的是..........
- Vue+ElementUI中的input输入框添加自定义图片
- Scratch编程与游戏:大鱼吃小鱼!
- matplotlib颜色表一览
- numpy.linalg 中的逆矩阵 inv
- 计算机硬盘为啥要入固定资产,监控存储硬盘入固定资产吗
- 使用golang编写Prometheus Exporter
- Codeforces Round #703 (Div. 2) C. Guessing the Greatest
- PHP-中文转换成拼音
- 西南大学统考英语计算机有答案吗,西南大学1806课程[0002]《英语》机考A卷答案参考...