TensorBoard的使用(结合线性模型)
TensorBoard是TensorFlow 的可视化工具。主要为了更方便用户理解 TensorFlow 程序、调试与优化,用户可以用 TensorBoard 来展现 TensorFlow 图像,绘制图像生成的定量指标图以及附加数据。
TensorBoard 通过读取 TensorFlow 的事件文件来运行。TensorFlow 的事件文件包括了在 TensorFlow 运行中涉及到的主要数据,在运行计算图后,tensorflow会在当前文件夹下,生成一个log文件夹,所有的事件文件都会放在文件夹中,每次运行文件都会生成一个日志文件。tensorboard是通过运行这些日志文件把计算图过程可视化。
下面我们来看个简单例子:
import tensorflow as tf
with tf.Graph().as_default():
x=tf.placeholder(tf.float32,name='x')
y_true=tf.placeholder(tf.float32,name='y_true')
writer=tf.summary.FileWriter(logdir='logs',graph=tf.get_default_graph())
writer.close()
运行上面代码会在当前目录下生成一个logs的文件夹,然后我们可以通过tensorboard运行这个日志文件来展示计算图。
tensorboard --logdir=C:\Users\Administrator\PycharmProjects\untitled2\logs
其中tensorboard --logdir运行事件文件的命令行,C:\Users\Administrator\PycharmProjects\untitled2\logs为日志文件的路径
需要注意的是运行tensorboard命令时,需要先进入到tesorboard的安装文件夹下,或者已经在系统中设定好了环境变量
运行后会生成一段类似这样的代码TensorBoard 0.4.0rc3 at http://20170318-133753:6006 (Press CTRL+C to quit)
把其中http://20170318-133753:6006的地址复制到浏览器打开,就能进入tensorboard界面。

下面是简单线性模型代码和计算图
import tensorflow as tf
with tf.Graph().as_default():
#name_scope作用是给节点添加名称,以便生成简洁的tensorboard
with tf.name_scope('input'):
#添加占位符
x=tf.placeholder(tf.float32,name='x')
y_true=tf.placeholder(tf.float32,name='y_true')
with tf.name_scope('inference'):
#添加变量
w=tf.Variable(tf.zeros([1]),name='weight')
b = tf.Variable(tf.zeros([1]),name='bias')
#添加模型函数
y_pre=tf.add(tf.multiply(x,w),b)
#添加损失函数
loss_function=tf.reduce_mean(tf.pow(y_true-y_pre,2))/2
#梯度计算(learning_rate 是学习步长)
optimizer=tf.train.GradientDescentOptimizer(learning_rate=0.01)
#添加训练节点
trian=optimizer.minimize(loss_function)
#添加评估节点
envalue=tf.reduce_mean(tf.pow(y_true-y_pre,2))/2
#初始化变量和节点
init=tf.global_variables_initializer()
writer=tf.summary.FileWriter(logdir='logs',graph=tf.get_default_graph())
writer.close()
呈现的结果如下:

TensorBoard的使用(结合线性模型)的更多相关文章
- [TF] Architecture - Computational Graphs
阅读笔记: 仅希望对底层有一定必要的感性认识,包括一些基本核心概念. Here只关注Graph相关,因为对编程有益. TF – Kernels模块部分参见:https://mp.weixin.qq.c ...
- 机器学习笔记4-Tensorflow线性模型示例及TensorBoard的使用
前言 在上一篇中,我简单介绍了一下Tensorflow以及在本机及阿里云的PAI平台上跑通第一个示例的步骤.在本篇中我将稍微讲解一下几个基本概念以及Tensorflow的基础语法. 本文代码都是基于A ...
- tensorboard入门
Tensorboard tensorboard用以图形化展示我们的代码结构和图形化训练误差等,辅助优化程序 tensorboard实际上是tensorflow机器学习框架下的一个工具,需要先安装ten ...
- 广义线性模型(Generalized Linear Models)
前面的文章已经介绍了一个回归和一个分类的例子.在逻辑回归模型中我们假设: 在分类问题中我们假设: 他们都是广义线性模型中的一个例子,在理解广义线性模型之前需要先理解指数分布族. 指数分布族(The E ...
- SPSS数据分析—广义线性模型
我们前面介绍的一般线性模型.Logistic回归模型.对数线性模型.Poisson回归模型等,实际上均属于广义线性模型的范畴,广义 线性模型包含的范围非常广泛,原因在于其对于因变量.因变量的概率分布等 ...
- SPSS数据分析—对数线性模型
我们之前讲Logistic回归模型的时候说过,分类数据在使用卡方检验的时候,当分类过多或者每个类别的水平数过多时,单元格会划分的非常细,有可能会导致大量单元格频数很小甚至为0,并且卡方检验虽然可以分析 ...
- Tensorflow学习笔记3:TensorBoard可视化学习
TensorBoard简介 Tensorflow发布包中提供了TensorBoard,用于展示Tensorflow任务在计算过程中的Graph.定量指标图以及附加数据.大致的效果如下所示, Tenso ...
- Stanford大学机器学习公开课(四):牛顿法、指数分布族、广义线性模型
(一)牛顿法解最大似然估计 牛顿方法(Newton's Method)与梯度下降(Gradient Descent)方法的功能一样,都是对解空间进行搜索的方法.其基本思想如下: 对于一个函数f(x), ...
- SPSS数据分析—混合线性模型
之前介绍过的基于线性模型的方差分析,虽然扩展了方差分析的领域,但是并没有突破方差分析三个原有的假设条件,即正态性.方差齐性和独立性,这其中独立性要求较严格,我们知道方差分析的基本思想其实就是细分,将所 ...
随机推荐
- java学习笔记之集合家族1
集合 集合介绍: 由于数组中存放对象,对对象操作起来不方便.java中有一类容器,专门用来存储对象. 集合与数组的区别: 1.数组的长度固定的,而集合长度时可变的 2.数组只能储存同一类型的元素,而且 ...
- OJ随笔——【1088-N!】——同余定理
题目如下: Description 请求N!(N<=10000),输出结果对10007取余输入每行一个整数n,遇到-1结束.输出每行一个整数,为对应n的运算结果. Sample Input ...
- android 读取系统文件 wpa_supplicant
1,须要权限 <uses-permission android:name="android.permission.ACCESS_SUPERUSER" /> 2,下载 R ...
- 模拟教室网络(跨VLAN,跨网段通讯)
要求: 1,跨VLAN,三个教室在不同的VLAN中,翻番至网络风暴 2,三个VLAN在三个不同的网段 3,设置访问控制列表,组织每个网段的前八个IP不可访问服务器 4,其他IP均可访问外网的服务器 操 ...
- Docker 搭建 etcd 集群
阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...
- maven安装配置及使用maven创建一个web项目
今天开始学习使用maven,现在把学习过程中的资料整理在这边. 第一部分.maven安装和配置. http://jingyan.baidu.com/article/295430f136e8e00c7e ...
- 用jQuery绑定事件到动态创建的元素上
jQuery最常用的一个功能就是对DOM的操作,与之相关的比如对事件的绑定和Ajax动态内容加载.当我们绑定事件到Ajax load回来的内容上或其他动态创建的元素上时会发现事件没响应,和你预想的结果 ...
- CoreJava逻辑思维-顺时针打印自定义矩阵
CoreJava逻辑思维-顺时针打印自定义矩阵 这两天回顾了一下刚入Java时的一些比较有意思的逻辑题,曾经也费劲脑汁的思考过的一些问题,比如百钱百鸡最简单的算法啦之类的,而今天博主想说的是一个循环打 ...
- Intellij idea 复制粘贴查找快捷键失效
遇到此问题,竟不能复制, 发现原因,是因为勾选了Vim模式, Tools,Vim Emulator,前面会有一个√,取消即可,如图: 我的是这个原因,复制粘贴快捷键失效,也有可能历史粘贴板的深度不够 ...
- OpenCASCADE构造一般曲面
OpenCASCADE构造一般曲面 eryar@163.com Abstract. 本文主要介绍常见的曲面如一般柱面(拉伸曲面).旋转面在OpenCASCADE中的构造方法,由此思考一般放样算法的实现 ...