TensorBoard的使用(结合线性模型)

Posted molearner

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的使用(结合线性模型)的主要内容,如果未能解决你的问题,请参考以下文章

keras与tensorboard结合使用

使用 Tensorboard 实时监控训练并可视化模型架构

Tensorflow tensorboard使用

啊哈~花一天快速上手Pytorch(可能是全网最全流程从0到部署)

使用python代码读取准确性而不是tensorboard

具有自定义训练循环的 Tensorboard Graph 不包括我的模型