TensorFlow:基础_模型载体:操作

内容:Operation、Variable、Placeholder

计算节点(Operation):对应的是无状态的计算或控制操作,主要负责算法逻辑表达或流程控制
存储节点(Variable):对应的是有状态的变量操作,通常用来存储模型参数
数据节点(Placeholder):对应的是特殊的占位符操作,用于描述待输入数据的属性

计算节点(Operation)

计算操作的主要属性

TensorFlow Python API提供的典型操作

存储节点(Variable)

变量由以下4个节点构成:
1、变量初始值
2、更新变量值的操作
3、读取变量值的操作
4、变量操作

变量支持两种初始化方式:
初始值:用户输入初始值完成初始化。如果没有显式指定初始值,则会根据变量的数据类 型进行默认初始化
VariableDef:用户使用Protocol Buffers定义的变量完成初始化,通常用于继续训练时从文件系统中恢复模型参数。

结论:变量是有状态的节点,其内部的变量操作长期保存变量对应的值变量值的生命周期与数据流图相同,在数据流执行过程中始终存在。普通节点则会在依赖它们的所有操作完成后,就会被释放。

变量初始化例子:

数据节点(Placeholder)

TensorFlow占位符和稀疏占位符操作函数的输入参数

用例

代码:

结果:

TensorFlow:基础_SparseTensor

内容:稀疏张量(Sparse Tensor)

简单介绍稀疏张量的表示:

稀疏张量包含indices、values、dense_shape这3个属性。indices形状为[N, ndims],N表示为非零元素的个数,ndims表示张量的阶数。indices=[[0, 2], [1, 3], [2, 2]]表示为N=3,ndims=2。values的形状为[N]的Tensor对象,用于保存Indices中指定的非0元素。dense_shape表示一个形状为[ndims]的Tensor实例,是一个稀疏张量对应稠密张量的形状。

代码:

结果:

TensorFlow针对稀疏张量提供的典型操作

以下用例展示稀疏张量的创建以及归约操作。

用例

代码:

结果:

TensorFlow:基础_Tensor

内容:张量(Tensor)

TensorFlow张量的属性

TensorFlow张量的公共成员方法

TensorFlow针对张量提供的典型操作

下面用例展示张量的创建、求解以及部分成员方法的使用。

用例

代码:

运行结果:

MNIST_Advanced

 

MNIST_Introduction

数据以及mnist文件:mnist