Tensorflow学习随手记(三)

Tensorboard的简单实用

核心的写法如下:

例子1

with tf.name_scope('loss'):
    loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-product),reduction_indices=[1]));

例子2

#定义添加层的方法
def add_layer(inputs,in_size,out_size,activation_function=None):
    with tf.name_scope('layer'):
        with tf.name_scope('Wegihts'):
            Wegihts = tf.Variable(tf.random_normal([in_size,out_size]),name='W');
        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(Wegihts,inputs)+ biases;
        
        if activation_function is None:
            output = Wx_plus_b;
        else:
            output = activation_function(Wx_plus_b);
            
        return output;

将结果输出到某个文件使用如下代码:

sess = tf.Session();
#tf.train.SummaryWriter 又一个被废弃的方法
writer = tf.summary.FileWriter("logs/",sess.graph);

编译完成后,使用在控制台,切换到logs对应的父文件夹内,然后运行

tensorboard --logdir=logs

注意,如果是通过Anaconda安装的Tensorflow,相当于是安装了一个tensorflow的虚拟机。因此,要以管理员方式运行Anaconda prompt后,激活Tensorflow环境。最后再切换到logs目录下,然后才是运行tensorboard --logdir=logs.

运行后,可以在浏览器中打开控制台提示的网址,即出现神经网络的层次结构。如下图所示

每一层如下图所示

 

记录数据变化,可以使用如下方法

tf.summary.histogram(lay_name+'/biases',biases);

loss误差值的记录,使用如下代码

tf.summary.scalar('loss',loss);

在需要记录的时候,都需要运行如下代码,用于生成最新的数据信息。

merge = tf.summary.merge_all();
result = sess.run(merge,feed_dict={xs:x_data,ys:y_data});
writer.add_summary(result,i);

最终会形成一个如下图所示的图表

1,loss

2,其他historgram

目前还看不懂这些图表的含义,只能先放着,等以后慢慢理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值