一、TF数据流图
1.TensorFlow结构分析
一个构件图阶段
流程图:定义数据(张量tensor) 和操作(operation)
一个执行图阶段
召集各方资源洽谈已定义的数据和要运行的操作
[En]
Call the resources of all parties to talk about the defined data and operations to run
2.数据流图
TensorFlow
Tesnsor-张量-数据
Flow-流动
3.图与tensorboard
3.1 什么是图结构
图结构:数据+操作
3.2 图相关操作
3.2.1 默认图
查看默认图的方法
1)调用方法
用tf.get_default_graph()
2)查看属性
.graph
3.2.2 创建图
new_g = tf.Graph()
创建操作(op):with new_g.as_default():
定义数据和操作
3.3 TensorBoard 可视化学习
1 数据序列化-events文件
tf.summary.FileWriter(path,graph=sess.graph)
2 启动tensorboard
tensorboard –logdir=path
3.4 OP
数据: Tensor对象
操作: Operation对象 -OP
3.4.1 常见OP
操作函数 & 操作对象
tf.constant(Tensor对象) 输入Tensor对象-Const对象-输出 Tesnsor对象
tf.add(Tesnsor对象1,TensorFlow对象2) 输入Tensor1、2-Add对象-输出Tensor对象
3.4.2 指令名称
一张图 – 一个命名空间
tf.constant(value,name = “a”)
3.5 会话
tf.Session():用于完整的程序中
快速看到一个张量的值:a.eval()
1) 会话掌握资源,用完要回收 – 使用上下文管理器 with
2) 初始化会话对象时的参数
graph=None
target:如果此参数为空,将仅使用本地计算机中的设备;可以指定grpc://网址
config:允许指定一个 tf.ConfigProto 一边控制会话的行为:如用于打印设备使用信息
3) run()方法
通过使用run()来运行operation
run(fetchs,feed_dict=None,options=None,run_metadata=None)
使用tf.operation.eval()也可以运行operation,但是需要在会话中运行
fetchs:单一的operation或者列表、元组
4) feed操作
placeholder提供占位符,run()时候通过feed_dict指定参数
定义占位符:a = tf.placeholder(type, shape=)
5) 报错error:
RuntimeError: session处于无效状态
TypeError:fetches或者feed_dict建的类型不合适
ValueError: fetches或者feed_dict的键无效
4.张量(Tensor)
4.1定义
张量 在计算机当中如何存储?
标量 一个数字 0阶张量
向量 一维数组[1,2,3] 1阶张量
矩阵 二维数组[[1,2,3], 2阶张量
[4,5,6]]
张量 n维数组
- type:数据类型
- shape:形状(阶)
4.2 张量创建
创建张量时候如果不指定类型,则默认 整形:tf.int32,浮点型: tf.float32
创建固定值张量
tf.zeros(shape,dtype,name)
tf.ones(shape,dtype,name)
tf.constant(value,dtype,shape,name)
创建随机张量
tf.random_normal(shape,mean=0.0,steddev=1.0,dtype=tf.float32):从正态分布中输出随机值
其它特殊的创建张量操作
tf.valuable
tf.placeholder
4.3 张量的变换
类型改变
tf.cast(tensor,dtype=,name=None):不会改变原始tensor
形状改变
静态形状:最初创建张量时的形状
[En]
Static shape: shape when the tensor is initially created
改变静态形状:只有在形态没有完全固定下来的时候可以改变,只能更新形状未确定下来的部分,placeholder
tensor.set_shape()
动态形状修改:保持张量前后单元数一致
[En]
Dynamic shape modification: keep the number of elements before and after the tensor consistent
tf.reshape(tensor,shape),不会改变原始tensor
5 变量OP
适合用于保存模型参数
5.1 创建变量:需要显式的初始化变量
tf.Variable()
5.2 初始化变量
tf.global_variables_initializer()
5.3 使用tf.variable_scope()修改变量的命名空间
with tf.variable_scope(“my_scope”):
6 基础API
tf.app,tf.image,tf.summary
Original: https://blog.csdn.net/lemon_kirito/article/details/121139863
Author: Leo_WHU
Title: TensorFlow框架介绍
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/514374/
转载文章受原作者版权保护。转载请注明原作者出处!