Tensorboard可视化的用法之构造神经网络

本文介绍了如何利用Tensorboard进行神经网络的可视化。通过在代码中添加命名标签,运行后生成的日志文件可以在Tensorboard中展示网络结构。通过在终端启动Tensorboard并访问指定链接,可以查看详细的网络层结构。
摘要由CSDN通过智能技术生成

首先要知道Tensorboard是用来做什么的,它其实就是一个可视化的工具,是tensorflow里自带的

下面这段代码是用来构造神经网络结构图:

import tensorflow as tf
import numpy as np


def add_layer(inputs,in_size,out_size,activation_function=None):                 
    with tf.name_scope('layer'):                                                                        #这是关键
        with tf.name_scope('weigths'):
            Weights = tf.Variable(tf.random_normal([in_size, out_size]),name='weight')
        with tf.name_scope('biases'):
            biases = tf.Variable(tf.zeros([1, out_size]) + 0.1,name='b')
        with tf.name_scope('Wx_plus_b'):
            Wx_plus_b = tf.matmul(inputs, Weights) + biases

        if activation_function is None:
            outputs=Wx_plus_b
        else:
            outputs=activation_function(Wx_plus_b)
        return outputs


x_data=np.linspace(-1,1,300)[:,np.newaxis]
noise = np.random.normal(0,0.05,x_data.shape)
y_data=np.square(x_data)-0.5+noise

with tf.name_scope('inputs'):                                                     #我的理解是运行到这里的时候,会添加一个名叫inputs的节点,这个节点点开后包含一个名叫x_input和y_input节点
    xs = tf.placeholder(tf.float32, [None, 1], name='x_input')
    ys = tf.placeholder(tf.float32, [None, 1], name='y_input')


l1=add_layer(xs,1,10,activation_function=tf.nn.relu)
predition=add_layer(l1,10,1,activation_function=None)
with tf.name_scope('loss'):
    loss=tf.reduce_mean(tf.reduce_sum(tf.square(ys-predition),reduction_indices=[1]))
with tf.name_scope('train'):
    train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
init = tf.initialize_all_variables()
sess = tf.Session()
writer=tf.summary.FileWriter("log",sess.graph)               #把刚刚建立好的架构加载到一个文件中,这里就是把架构加载到log文件夹下面,也就是运行之后会自动产生一个文件在log目录下(log不存在时也会自动产生一个log文件夹)

#writer=tf.train.SummaryWriter("log",sess.graph)                  #加载架构也可以用这种方法(具体还是要看tensorflow的版本)



具体过程如下:

一 首先编辑好代码,其实就是在搭建好的神经网络中,将各个节点加上名字,使用 with tf.name_scope()函数或者在参数赋值的时候在后面加上name属性等等,把你想看的内容都加上名字的标签

二 运行之后会在工程目录下产生你事先定义好的文件夹,并产生构架文件
在这里插入图片描述
三 在python终端输入指令tensorboard --logdir log --host=127.0.0.1(目录是上面代码自定义的),会产生一个链接,复制链接去浏览器访问即可(有的介绍说也可以直接用tensorboard --logdir log,但是我试的时候没有用…)
在这里插入图片描述
四 可视化结构如下:
在这里插入图片描述
点开layer后的内部结构:
点开后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值