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

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

变量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)
# <tf.Variable 'Variable:0' shape=(2, 3) dtype=float32_ref>
# 显示初始化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)


相关文章
|
1天前
|
机器学习/深度学习 TensorFlow API
Python深度学习基于Tensorflow(3)Tensorflow 构建模型
Python深度学习基于Tensorflow(3)Tensorflow 构建模型
10 2
|
14天前
|
机器学习/深度学习 TensorFlow API
Python安装TensorFlow 2、tf.keras和深度学习模型的定义
Python安装TensorFlow 2、tf.keras和深度学习模型的定义
|
5月前
|
机器学习/深度学习 数据可视化 TensorFlow
用TensorBoard可视化tensorflow神经网络模型结构与训练过程的方法
用TensorBoard可视化tensorflow神经网络模型结构与训练过程的方法
141 1
|
5月前
|
机器学习/深度学习 编译器 TensorFlow
基于Python TensorFlow Estimator的深度学习回归与分类代码——DNNRegressor
基于Python TensorFlow Estimator的深度学习回归与分类代码——DNNRegressor
|
5月前
|
机器学习/深度学习 PyTorch TensorFlow
如何使用TensorFlow或PyTorch进行机器学习任务?
如何使用TensorFlow或PyTorch进行机器学习任务?
|
机器学习/深度学习 PyTorch 算法框架/工具
|
数据采集 大数据 异构计算
TensorFlow2.0(6):利用data模块进行数据预处理(下)
TensorFlow2.0(6):利用data模块进行数据预处理(下)
|
数据采集 大数据 测试技术
TensorFlow2.0(6):利用data模块进行数据预处理(上)
TensorFlow2.0(6):利用data模块进行数据预处理(上)
|
机器学习/深度学习 前端开发 PyTorch
TensorFlow+Pytorch识别阿猫阿狗(下)
TensorFlow+Pytorch识别阿猫阿狗(下)
138 0
TensorFlow+Pytorch识别阿猫阿狗(下)
|
机器学习/深度学习 数据可视化 PyTorch
TensorFlow+Pytorch识别阿猫阿狗(上)
TensorFlow+Pytorch识别阿猫阿狗(上)
157 0
TensorFlow+Pytorch识别阿猫阿狗(上)