在TensorFlow中,变量tf.Variable的作用就是保存和更新神经网络中的参数。这些变量在使用之前也需要指定初始值。TensorFlow提供了多种方法来初始化变量。
一、随机数生成函数
常见函数有正态分布tf.random_normal()、tf.truncated_normal()等,通常利用tf.random_normal()初始化神经网络的权值参数
二、常数生成函数
常见的有tf.ones()、tf.zeros()、tf.fill()、tf.constant()等,通常利用tf.zeros()初始化神经网络的偏置项
注意,tf.Variable()生成的变量同样是张量,不过它是由生成函数操作生成的张量Assign得到的
import tensorflow as tf
weight=tf.Variable(tf.random_uniform([2,2],dtype=tf.float32))
input=tf.constant([[1.0,2.0]])
y=tf.matmul(input,weight)
with tf.Session() as sess:
writer=tf.summary.FileWriter('path',tf.get_default_graph())
init_op=tf.global_variables_initializer()
sess.run(init_op)
print(sess.run(y))
writer.close()
打开tensorboard,得到以下计算图模型:
看到,Variable是tf.random_uniform 操作生成张量Assign得到的