您当前的位置: 首页 >  彭世瑜 ar

深度学习:Tensorflow变量op和可视化TensorBoard

彭世瑜 发布时间:2019-03-01 22:47:43 ,浏览量:3

变量op

变量也是一种op,是一种特殊的张量 能够进行存储持久化,它的值就是张量,默认被训练

变量op特点: 1、变量op能够持久化保存,普通张量op是不行的 2、当定义一个变量op的时候,一定要在会话中去运行初始化 3、name参数,在tensorboard显示名字,区分相同op

变量的创建

tf.Variable(initial_value=NOne, name=None, trainable=True)

赋值

assign(value)

返回变量值

eval(session=None)

初始化所有变量op

tf.global_varibles_initializer()
可视化学习TensorBoard

数据序列化 events事件文件 TensorBoard通过读取TensorFlow的事件文件来运行

filewriter = tf.summary.FileWriter("/temp/", graph)

写入事件文件到指定目录(最好是绝对路径),以提供tensorboard使用

开启

$ tensorboard --logdir="/temp/"

打开浏览器 127.0.0.1:6006

代码示例
# -*- coding: utf-8 -*-

import tensorflow as tf

a = tf.constant([1, 2, 3], name="a")

b = tf.constant(3.0, name="b")
c = tf.constant(3.0, name="c")
e = tf.add(b, c, name="add")

var = tf.Variable(tf.random_normal((2, 3), mean=0.0, stddev=1.0), name="name")

print(a, var)
# Tensor("Const:0", shape=(3,), dtype=int32)
# 


# 显示初始化op
init_op = tf.global_variables_initializer()

with tf.Session() as session:
    # 必须运行初始化op
    session.run(init_op)

    # 把程序的graph图结构写入事件文件
    filewriter = tf.summary.FileWriter("temp/", graph=session.graph)

    print(session.run([a, var]))
    # [array([1, 2, 3], dtype=int32),
    # array([[ 1.0577981 , -1.1390951 , -0.12928246],
    #   [ 1.2623566 ,  0.7676961 ,  0.46882382]], dtype=float32)]

增加变量显示

目的:观察模型的参数,损失值等变量值的变化

1、收集变量

# 收集对于损失函数和准确率等单值变量
tf.summary.scalar(name="", tensor)

# 收集高纬度的变量参数
tf.summary.histogram(name="", tensor)

# 收集输入的图片张量能显示图片
tf.summary.image(name="", tensor)

2、合并变量写入事件文件

merged = tf.summary.merge_all()

# 合并运行,每次迭代都需要运行
summary = sess.run(merged)

# 添加,i表示第几次的值
FileWriter.add_summary(summary, i)
关注
打赏
1688896170
查看更多评论

彭世瑜

暂无认证

  • 3浏览

    0关注

    2727博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0859s