zoukankan      html  css  js  c++  java
  • tensorboard窥视

    运行神经网络时,跟踪网络参数,以及输入输出是很重要的,可据此判断模型是否在学习,损失函数的值是否在不断减小。Tensorboard通过可视化方法,用于分析和调试网络模型。

    使用tensorboard的流程:

    1、构建计算流图,即完成代码部分

    2、为要观察的操作节点添加summary

    3、使用sess.run()启动计算流图

    4、在anaconda prompt下启动tensorboard,如:tensorboard --logdir=***,其中***表示存放log的目录

    5、在浏览器下查看可视化结果

    • tf.summary.scalar(name, tensor, collections=None):记录标量,如loss,accuracy,learning_rate等
    • tf.summary.histogram(name, tensor, collections=None):记录权重、输出、梯度的分布情况
    • Tf.summary.image(name, tensor, max_outputs=3, collections=None): 记录图片数据
    • Tf.summary.audio(name, tensor, sample_rate, max_outputs=3, collections=None): 记录音频数据
    • Tf.summary.text(name, tensor, collections=None): 记录文本数据
    • tf.summary.merge_all/tf.summary.merge(inputs, collections=None, name=None):合并所有/指定变量
    • tf.summary.FileWriter:写入summary文件
    import tensorflow as tf
    import numpy as np
    # 输出数字0-9
    one = tf.constant(1.0)
    digit_value = tf.Variable(0.0, name='digit_value')
    new_digit_value = tf.add(digit_value, one)
    step = tf.assign(digit_value, new_digit_value)

    for value in [digit_value]:
        tf.summary.scalar(value.op.name, value) # 添加要显示在tensorboard的标量
    summaries = tf.summary.merge_all()
    with tf.Session() as sess:
        summary_writer = tf.summary.FileWriter('log', sess.graph) # 保存数据流图到文件夹log中
        sess.run(tf.global_variables_initializer())
        for i in range(10):
            summary_writer.add_summary(sess.run(summaries)) # 添加summaries图表到tensorboard中
            print(sess.run(digit_value))
            sess.run([new_digit_value, step])

    显示效果:

  • 相关阅读:
    .net core 实现默认图片
    解决ASP.NET Core部署到IIS,更新项目"另一个程序正在使用此文件,进程无法访问"
    c# 按位与,按位或
    找对象,贤妻良母vs事业型
    基于Redis的分布式锁和Redlock算法
    关于free如何知道要释放内存空间的长度问题(X86篇)
    OpenWrt开发教程(五)shell命令操作json api详解(jshn.sh)
    Linux常见错误码声明
    SDN实验---流表项对网络的影响
    delphi 给TComboBox 添加图标
  • 原文地址:https://www.cnblogs.com/heiao10duan/p/9290464.html
Copyright © 2011-2022 走看看