定义
Variables are the parameters of the algorithm and TensorFlow keeps track of how to change these to optimize the algorithm.
变量一般为算法的参数,tf将会通过改变这些参数来使得算法的结果最优
Placeholders are objects that allow you to feed in data of a specific type and shape and depend on the results of the computational graph, such as the expected outcome of a computation.
Placeholders are just holding the position for data to be fed into the graph
Placeholders 是一个对象,你可以 feed in 数据(任意指定的shape)。一般作为computational graph的输入。
注意区别两者:Variables的shape是不会变的因为是网络的参数(W,b等),但是里面的值是会改变的。Placeholders的shape是可变的,主要取决于batch的大小,但是不会改变其内容
How to create a variable
创建一个变量主要分为两步:
(1)声明一个变量 (2)初始化变量:这一步一般是在全部变量都声明完成,且将会launch computational graph的时候进行ji
有时候可能我们需要用一个变量对另一个变量赋值,或者是用到了前一个变量的结构,这时候需要先初始化一个变量
创建一个 placeholder
同样分为:
(1)声明:定义数据类型和shape
(2) 初始化:一般是用feed_dict传入数据,注意这时候传入的数据只接受numpy或者是py自带的数据结构,不接受tensor作为输入