开始之前先了解一下Tensorflow的变量,有两种方式创建变量
1)tf.get_variable(name, shape, initializer): 获取已有变量,如果不存在,就创建一个
name: 变量的名字
shape: 变量的形状/维度
initializer: 变量的初始化方式,初始化方式有以下几种
- tf.constant_initializer:常量初始化函数 tf.random_normal_initializer:正态分布
- tf.truncated_normal_initializer:截取的正态分布
- tf.random_uniform_initializer:均匀分布 tf.zeros_initializer:全部是0
- tf.ones_initializer:全是1
- tf.uniform_unit_scaling_initializer:满足均匀分布,但不影响输出数量级的随机值
该函数的使用:正常来讲,不同的变量不能有相同的名字,所以为了实现变量共享,tensorflow使用tf.get_variable联合tf.variable_scope以及reuse共同实现。
2)tf.Variable(initializer,name)
initializer: 初始化值
name:可自定义的变量名称
生成一个初始值为initial-value的变量。必须指定初始化值
tf.variable_scope的使用
with tf.variable_scope(“one”):
v1 = tf.get_v