TensorFlow框架介绍

一、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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球