TensorFlow学习——tf.Variable()

xiaoxiao2021-03-01  3

tf.Variable(initializer,name):参数initializer是初始化参数,name是可自定义的变量名称

主要在于一些可训练变量(trainable variables),比如模型的权重(weights,W)或者偏执值(bias)。

例子:

W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10]))

当然,在TensorFlow中,运行这两条语句后,W和b其实还是没有真正初始化,需要运行下面一条语句,才能在内存中真正初始化:  

sess.run(tf.global_variables_initializer())

这里最后说一下,placeholder和Variable的区别:

转自:https://www.cnblogs.com/nowornever-L/p/6908775.html

二者的主要区别在于:

tf.Variable:主要在于一些可训练变量(trainable variables),比如模型的权重(weights,W)或者偏执值(bias);

声明时,必须提供初始值;名称的真实含义,在于变量,也即在真实训练时,其值是会改变的,自然事先需要指定初始值;  weights = tf.Variable( tf.truncated_normal([IMAGE_PIXELS, hidden1_units], stddev=1./math.sqrt(float(IMAGE_PIXELS)), name='weights') ) biases = tf.Variable(tf.zeros([hidden1_units]), name='biases')

tf.placeholder:用于得到传递进来的真实的训练样本:

不必指定初始值,可在运行时,通过 Session.run 的函数的 feed_dict 参数指定;这也是其命名的原因所在,仅仅作为一种占位符;images_placeholder = tf.placeholder(tf.float32, shape=[batch_size, IMAGE_PIXELS]) labels_placeholder = tf.placeholder(tf.int32, shape=[batch_size])
转载请注明原文地址: https://www.6miu.com/read-3850203.html

最新回复(0)