Tensorflow---可视化工具TensorBoard的用法

Tensorflow—可视化工具TensorBoard的用法

TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如:权重W、偏置B、卷积层数、全连接层数等),使用TensorBoader可以很直观的帮我们进行参数的选择。

使用步骤

#第一步:(添加想要可视化对象)
tf.summary.scalar(name='tmp sum x', tensor=sum_x)
#第二步:(合并所有的summary可视化输出操作)
summary = tf.summary.merge_all()
#第三步:(构建一个日志输出对象)
writer = tf.summary.FileWriter(logdir='./models/09', graph=sess.graph)
#第四步:(运行summary)
r, summary_ = sess.run([y, summary], feed_dict={input_x: data})
#第五步:(将可视化模型保存到磁盘中)
writer.add_summary(summary=summary_, global_step=step)
#第六步:(关闭输出对象)
writer.close()

下面是完整代码:

import tensorflow as tf

with tf.Graph().as_default():
    # 一、图的构建
    with tf.name_scope('n1'):
        # a. 定义一个占位符。表示一个数字
        input_x = tf.placeholder(dtype=tf.float32, shape=None, name='x')
        # b. 定义一个变量,用于表示阶乘的值
        sum_x = tf.Variable(dtype=tf.float32, initial_value=1.0, name='sum_x')
        # 定义一个可视化的输出操作
        tf.summary.scalar(name='tmp sum x', tensor=sum_x)
    with tf.name_scope('n2'):
        # /GPU:0表示在所有可运行的GPU上的而言,第一个GPU核
        # c. 做一个乘法操作
        tmp = sum_x * input_x
        # 将tmp这个tensor中的值赋值为sum_x这个tensor
        assign_op = tf.assign(ref=sum_x, value=tmp)
        # d. 做一个阶乘的累加值乘以3的操作
        with tf.control_dependencies(control_inputs=[assign_op]):
            # 当前with语句块中的代码执行之前,一定会先触发control_inputs中给定的Tensor操作
            y = sum_x * 3
            # 定义一个可视化的输出操作
            tf.summary.scalar('y', y)

    # 二、图的执行
    with tf.Session(config=tf.ConfigProto(log_device_placement=True,
                                          allow_soft_placement=True)) as sess:
        # 变量初始化
        sess.run(tf.global_variables_initializer())

        # 合并所有的summary可视化输出操作
        summary = tf.summary.merge_all()

        # 构建一个日志输出对象
        writer = tf.summary.FileWriter(logdir='./models/09', graph=sess.graph)

        # 阶乘值计算
        n = 5
        step = 1
        for data in range(1, n + 1):
            r, summary_ = sess.run([y, summary], feed_dict={input_x: data})
            print(r)
            # 将可视化输出的相关信息输出到磁盘
            writer.add_summary(summary=summary_, global_step=step)
            step += 1
        # 关闭输出对象
        writer.close()

在run该代码之后,在指定的文件夹中会出现一个持久化的可视化模型
Tensorflow---可视化工具TensorBoard的用法_第1张图片

然后,我们在cmd中切换与该文件夹所在的磁盘(比如,cmd路径是C:盘,但是event模型存放的路径是D:盘,这样会报错),同时,要求所有路径不能出现中文或者空格,然后我们在cmd中输入:

tensorboard --logdir 你存放event文件的路径(文件夹的路径,不是文件路径)
'''
eg:
tensorboard --logdir C:\Users\user\Desktop\05_dp\tensorflow14\0515\models\25\graph --host=127.0.0.1
'''

有些时候,会打不开,如果这样的话,就在后面加一个**–host=127.0.0.1**,这样就可以啦~

效果图

Tensorflow---可视化工具TensorBoard的用法_第2张图片
Tensorflow---可视化工具TensorBoard的用法_第3张图片

你可能感兴趣的:(tensorflow,tensorflow,python,深度学习,可视化)