Tensorflow-2-Tensorboard使用

一、概述 机器学习如此复杂,训练模型的时候,摸不清背后到底是如何运行的。自己设置的参数和关键变量,如果能看到在训练时的变化情况,可以为后面的参数调优阶段提供很大的便利。 Tensorboard就是这样一个工具。 它刻意将模型抽象成图像,tensor每一步是如何流动的,一目了然。 通过适当的代码设置,还能将指定的关键变量在训练时的变化情况绘制成曲线图,以便训练完成后观察变量的变化情况,来更加准确定位问题。 这篇文章简单介绍一下tensorboard的基本用法。 二、Tensorboard使用 tensorboard(以下简称tb)的操作,从创建一个FileWriter开始。 在接下来的代码中,我参照CS231N课程的数据集例子,用tensorflow(以下简称tf)写了一个Logistic Regression,并以此来说明tb的基本用法。 用到的notebook在我的github上可以找到。使用之前,请确保执行 来创建和我一样的运行环境。如有问题,可以留言或者ISSUE。 创建好环境之后,运行 激活conda环境,然后运行 来使用本例中的notebook。 下面的示例程序用tf做了一个两层的分类网络。将下图中的数据集分类。 最终分类效果是这样的。 tb的使用,大致归纳为三步: 调用tf中的FileWriter将自己关注的数据写到磁盘 在命令行使用tensorboard –logdir /path/to/log启动tb的web app 然后在本地浏览器输入localhost:6006来使用tb 下面具体看一下怎么使用。 1.生成模型图 生成模型图只需要一句话就行。比如说,现在已经初始化好了变量,处理好了数据,部分代码如下: 准备开始训练的时候,加上一句 例如,在session开始的时候添加就好。 我们要看整个模型的图像,因此传入session.graph对象。 这时,来到命令行,切换到notebook所在的目录,然后执行 logs/summary就是代码中定义的目录路径。tb启动后会提示到浏览器用localhost:6006去打开tb应用。 在浏览器打开后,切换到GRAPH标签,看到的模型图时这样的。 这个时候其他标签还没有内容,因为还没有在代码中进行添加。 上面的图片,就是现在这个模型的原始图像,没有进行任何分组和加工。看起来很乱,有一些标签,例如slice什么的,都不知道是什么意思。 图中, 每条曲线代表tensor的流向 每个椭圆代表一个操作,如add,matmul 每个圆角矩形代表一组操作,可以双击放大,看到这个组里面的细节 整张图片可以放大缩小,随意拖动;点开每个节点,右上角都会有这个节点的详细信息 下面来加工一下,为模型图分组,让图像更加清晰有条理。 2.使用name_scope分组 调用tf.name_scope()方法来为graph分组。 我想清楚看到 输入Inputs 标签Targets 两组Weight和bias变量 两个隐藏层的输出Logits_1和Logits_2 损失函数loss 训练准确率Accuracy以及 整个训练过程Train 示例代码如下。 输入Inputs 标签Targets 两组Weight和bias变量…

CategoriesML

Tensorflow-0-带GPU支持的安装与校验

Tensorflow-0-带GPU支持的安装与校验 零. 回顾与概述 这篇文章详细介绍了Tensorflow的安装和校验安装是否成功的教程,涵盖了在Ubuntu 16.04环境下GPU支持安装和非GPU支持的安装以及校验。 系统概览: Ubuntu 16.04 64位 NVIDIA GTX 770M 内容概览: 根据NVIDIA官方文档安装CUDA-Toolkit 校验CUDA安装是否成功 根据Tensorflow官方文档安装Tensorflow(GPU支持) 校验Tensorflow安装是否成功 原版文档很长,这篇文章给使用Ubuntu的朋友们提供一下便利! 一. Tensorflow入门资源推荐 我的第一份Tensorflow入门,给大家介绍一下,是Youtube里周莫烦的Tensorflow基础教程,翻墙点击这里带你去看! 下面好评很多,很基础,现在20集的样子,大家可以订阅,并且希望他能持续更新。 二. Tensorflow安装 首先请翻墙; 点击进入Tensofrflow官网Linux安装页。进入页面之后就会看到安装选择,可以安装非GPU支持的TF(Tensorflow以下简称TF)和GPU支持的TF,我们这边选择安装GPU支持的TF; 检查系统软件硬件是否符合NVIDIA要求; 完整的安装前检查如下: 检查系统GPU是否处于CUDA支持列表 通过 lspci | grep -i nvidia 来查看系统GPU型号;如果没有输入,请先运行update-pciids,然后再次运行上一个命令; 并且到 CUDA支持的GPU列表 查看系统GPU是否处于支持列表; 检查当前Linux版本处于CUDA支持列表 通过 uname -m && cat /etc/*release 来查看Linux版本; CUDA-8支持的Linux版本 检查系统安装了gcc 通过 gcc –version 来查看系统是否安装gcc;如果报错,请安装相应的开发工具包; 检查系统是否安装内核头文件,以及必要的开发工具包; 通过…

CategoriesML