Tensorflow的应用(四)

本文详述了如何利用Tensorflow的可视化工具Tensorboard来跟踪神经网络的训练过程,包括绘制训练过程图、准确率与损失曲线,以及权重和偏移量的统计图表。示例代码展示了手写数字识别问题的训练过程,通过Tensorboard直观理解模型动态。此外,还提及了对10000*10000大图的分类任务及其预处理方法。
摘要由CSDN通过智能技术生成

         这一节主要介绍Tensorflow的可视化工具Tensorboard,主要还是通过代码进行解释。

1、绘制神经网络训练的过程图graph,绘制每次迭代后的预测准确率、损失率,及每次迭代的权重的均值、标准差、最大最小值、直方图,偏移量的均值、标准差、最大最小值、直方图。以下是代码,依然是前面识别手写体的数据,代码有注释,就不一一再重复解释了。

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
#载入数据集
mnist = input_data.read_data_sets("MNIST_data",one_hot=True)

#每个批次的大小
batch_size = 100
#计算一共有多少个批次
n_batch = mnist.train.num_examples // batch_size

#参数概要,tf.summary.scalar的作用主要是存储变量,并赋予变量名,tf.name_scope主要是给表达式命名
def variable_summaries(var):
    with tf.name_scope('summaries'):
        mean = tf.reduce_mean(var)
        tf.summary.scalar('mean', mean)#平均值
        with tf.name_scope('stddev'):
            stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))
        tf.summary.scalar('stddev', stddev)#标准差
        tf.summary.scalar('max', tf.reduce_max(var))#最大值
        tf.summary.scalar('min', tf.reduce_min(var))#最小值
        tf.summary.histogram('histogram', var)#直方图

#命名空间
with tf.name_scope('input'):
    #定义两个placeholder
    x = tf.placeholder(tf.float32,[None,784],name='x-input')
    y = tf.placeholder(tf.float32,[None,10],name='y-input')
    
with tf.name_scope('layer'):
    #创建一个简单的神经网络
    with tf.name_scope('wights'):
        W = tf.Variable(tf.zeros([784,10]),name='W')
        variable_summaries(W)#将w权重传入variable_summaries这个过程,求权重的最大值、最小值、平均值、标准差、画出直方图
    with tf.name_scope('biases'):    
        b = tf.Variable(tf.zeros([10]),name='b')
        variable_summaries(b)#将b传入variable_summaries这个过程,求偏移量的最大值、最小值、平均值、标准差、画出直方图
    with tf.name_scope('wx_plus_b'):
        wx_plus_b = tf.matmul(x,W) + b
    with tf.name_scope('softmax'):
        prediction = tf.nn.softmax(wx_plus_b)

#二次代价函数
# lo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值