操作,数据流图中的节点对应一种操作。数据流图中的节点有三种:
1. 数据节点
2. 存储节点
3. 计算节点
数据节点,对应占位符(tf.placeholder()),要解决的问题是数据输入问题。所以占位符的特性是,在形状(shape)设定的时候可以有一维不确定,便于训练的时候批量传入不同batch_size的数据。
存储节点,对应变量(tf.variable()),要解决的问题是参数存储问题。因此变量的特性是,需要初始化和设定具体的形状,在iteration时常驻内存,减少不必要的数据重载,便于参数更新。
计算节点,对应基础运算、梯度计算和初始化等等,要解决的问题是tensor之间的操作问题,实现运算的功能。
TensorFlow为什么这么设计,是为了解决神经网络训练的问题,所以理解的时候要结合神经网络模型的训练过程,就能很容易理解为什么变量和一般的tensor不同。
展开
作者回复: 这个是我自己方便大家理解梳理的一个分类哈,从底层技术实现来看,可以合并类别的。