TensorFlow中通过变量名称获取变量的机制主要是通过tf.get_variable和tf.variable_scope函数来实现
tf.Variable函数是用来创建一个变量的,而tf.get_variable函数可以创建或者获取变量。当tf.get_variable函数用于创建变量时,他和tf.Variable的功能是等价的。
#下面两个定义是等价的
v = tf.get_variable("v", shape=[1], initializer=tf.constant_initializer(1.0))
v = tf.Variable(tf.constant(1.0, shape=[1]), name="v")
tf.get_variable函数调用时提供的维度(shape)信息以及初始化(initializer)的参数和tf.Variable函数调用时提供的初始化过程中的参数类似。TensorFlow中提供的initializer函数和之前介绍的随机数以及敞亮生成函数大部分是一一对应的。TensorFlow中提供了7种不同的初始化函数,如下表
初始化函数 | 功能 | 主要参数 |
tf.constant_initializer | 将变量初始化为给定常量 | 常量的取值 |
tf.random_normal_initializer | 将变量初始化为满足正态分布份随机值 | 正态分布的均值和标准值 |
tf.truncated_normal_initializ |