莫烦Tensorflow学习代码七(神经网络可视化tensorboard学习)

本文介绍如何使用TensorFlow实现神经网络的可视化,包括数据流向、网络结构、损失函数下降趋势及参数变化等。通过设置placeholder、构建层结构,并利用summary功能绘制权重、偏置和损失函数的变化图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个神经网络可视化是在前面的回归问题基础上学习的,可直观地看到数据的流向,整个神经网络的结构,loss函数的下降曲线,和biases和weights等参数的直方图。

给输入设置一个大的框架然后再在palceholder中加入name=‘x_in’,name='y_in’给xs和ys分别命名:
在这里插入图片描述

with tf.name_scope('inputs'):
    xs = tf.placeholder(tf.float32,[None,1],name='x_in')
    ys = tf.placeholder(tf.float32,[None,1],name='y_in')

设置add_layer,步骤同前,
例如先设置layer大框架,然后再放分别指定里面的小构建,
拿Weights参数来举例,layer框架中嵌套许多框架,在里面定义一个名为‘weights’的框架,其中有参数Weights叫‘w’。

tensorflow中提供了tf.histogram_summary()方法,用来绘制变化的图片, 第一个参数是图表的名称, 第二个参数是图表要记录的变量,在这里记录Weights变量

    layer_name = 'layer%s' % n_layer#转化为字符串
    with tf.name_scope('layer'):
        with tf.name_scope('weights'):
            Weights = tf.Variable(tf.random_normal([in_size,out_size]),name='W')#用正态分布产生随机数
            tf.summary.histogram(layer_name + '/weights',Weights)
       

结构图
在这里插入图片描述
Weights参数图
在这里插入图片描述

loss和train构建结构方法相同

但是loss的变化图略有不同

构建结构:

with tf.name_scope('loss'):
    loss = tf.reduce_mean(tf.square(ys - prediction))#loss函数
    tf.summary.scalar('loss',loss)
with tf.name_scope('train'):
    train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)#梯度下降优化器

在这里插入图片描述
构建loss变化图,可以帮助我们直观的看出loss在训练过程中的下降趋势,这样一来我们就知道了这个网络的训练效果

在这里插入图片描述

with tf.name_scope('loss'):
    loss = tf.reduce_mean(tf.square(ys - prediction))#loss函数
    tf.summary.scalar('loss',loss)

合并打包

merged=tf.summary.merge_all()

将已经绘画的图保存到一个目录中

writer = tf.summary.FileWriter("logs/",sess.graph)

训练之后要将合并的结果放入log就需要writer.add_summary()

for i in range(1000):
    sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
    if i%50==0:
        result = sess.run(merged,feed_dict={xs:x_data,ys:y_data})
       # print(sess.run(loss,feed_dict={xs:x_data,ys:y_data})
        writer.add_summary(result,i)
        

运行后会产生一个log文件,我是在pycharm中运行的,在terminal输入tensorboard --logdir logs 就会出现一个网址在这里插入图片描述
将网址复制到chrome浏览器中
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值