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的使用(结合线性模型)的更多相关文章

  1. [TF] Architecture - Computational Graphs

    阅读笔记: 仅希望对底层有一定必要的感性认识,包括一些基本核心概念. Here只关注Graph相关,因为对编程有益. TF – Kernels模块部分参见:https://mp.weixin.qq.c ...

  2. 机器学习笔记4-Tensorflow线性模型示例及TensorBoard的使用

    前言 在上一篇中,我简单介绍了一下Tensorflow以及在本机及阿里云的PAI平台上跑通第一个示例的步骤.在本篇中我将稍微讲解一下几个基本概念以及Tensorflow的基础语法. 本文代码都是基于A ...

  3. tensorboard入门

    Tensorboard tensorboard用以图形化展示我们的代码结构和图形化训练误差等,辅助优化程序 tensorboard实际上是tensorflow机器学习框架下的一个工具,需要先安装ten ...

  4. 广义线性模型(Generalized Linear Models)

    前面的文章已经介绍了一个回归和一个分类的例子.在逻辑回归模型中我们假设: 在分类问题中我们假设: 他们都是广义线性模型中的一个例子,在理解广义线性模型之前需要先理解指数分布族. 指数分布族(The E ...

  5. SPSS数据分析—广义线性模型

    我们前面介绍的一般线性模型.Logistic回归模型.对数线性模型.Poisson回归模型等,实际上均属于广义线性模型的范畴,广义 线性模型包含的范围非常广泛,原因在于其对于因变量.因变量的概率分布等 ...

  6. SPSS数据分析—对数线性模型

    我们之前讲Logistic回归模型的时候说过,分类数据在使用卡方检验的时候,当分类过多或者每个类别的水平数过多时,单元格会划分的非常细,有可能会导致大量单元格频数很小甚至为0,并且卡方检验虽然可以分析 ...

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

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

  8. Stanford大学机器学习公开课(四):牛顿法、指数分布族、广义线性模型

    (一)牛顿法解最大似然估计 牛顿方法(Newton's Method)与梯度下降(Gradient Descent)方法的功能一样,都是对解空间进行搜索的方法.其基本思想如下: 对于一个函数f(x), ...

  9. SPSS数据分析—混合线性模型

    之前介绍过的基于线性模型的方差分析,虽然扩展了方差分析的领域,但是并没有突破方差分析三个原有的假设条件,即正态性.方差齐性和独立性,这其中独立性要求较严格,我们知道方差分析的基本思想其实就是细分,将所 ...

随机推荐

  1. netty详解之io模型

    提起IO模型首先想到的就是同步,异步,阻塞,非阻塞这几个概念.每个概念的含义,解释,概念间的区别这些都是好理解,这里深入*nix系统讲一下IO模型. 在*nix中将IO模型分为5类. Blocking ...

  2. Lua代码提示和方法跳转

    前言 当在一个大型工程中编写大量的lua脚本时,代码提示和方法跳转等功能很实用,据我所了解的目前除LuaStudio之外,似乎还没有一个很好的编辑器.但今天讲述的是Idea +EmmyLua插件 达到 ...

  3. 自学Zabbix3.3-一个简单例子 添加Hosts并应用模板

    Host 是 Zabbix 监控的基本载体,所有的监控项都是基于 host 的. 通过 Configuration->Hosts->Create Host 来创建监控设备 按提示填入 Na ...

  4. 聊聊js中的typeof

    内容: 1.typeof 2.值类型和引用类型 3.强制类型转换 typeof 官方文档:typeof 1.作用: 操作符返回一个字符串,指示未经计算的操作数的类型. 2.语法: typeof ope ...

  5. mybatis 基础

    前言 MyBatis作为一款持久层的框架,从最初的ibatis更名,经过五六年的发展更新,如今已经更新到了3.4.5版本.MyBatis通过简单的xml或注解配置,就能将接口和Java的对象映射成数据 ...

  6. Linux下查看Go语言软件运行情况

    在Linux下,使用"jps"可以查看用Java语言写的软件的运行情况,如果要查看GO语言写的软件的运行情况,可以使用"gops",但这不是系统自带的,需要进行 ...

  7. 【java设计模式】【创建模式Creational Pattern】单例模式Singleton Pattern

    //饿汉式:资源利用率较低(无论是否需要都会创建),性能较高(使用前无需判断实例是否存在,可直接使用) public class EagerSingleton{ private static fina ...

  8. 【二十四】使用mysqli扩展类批量执行多条sql语句

    批量处理多个sql语句 <?php //批量执行多个dml语句 // $mysqli=new mysqli("localhost","root",&quo ...

  9. Android 开发,你遇上 Emoji 头疼吗?

    在 Android 中,如果需要使用的到 Emoji 表情,你会发现在某些设备上,有一些 Emoji 表情会被以豆腐块 "☐" 的形式显示,这是因为当前设备并不支持这个 Emoji ...

  10. Visual Studio Code 通过 Chrome插件Type Script断点调试Angular 2

    1. 下载Visual Studio Code (https://code.visualstudio.com/) 2. 安装插件Debugger for chrome 3. 确定tsconfig.js ...