TF Variable
变量
在训练网络的时候,往往需要变量值作为更新权重值weight
和偏置值bias
设置权重值的时候,需要初始化
- TF 随机数初始化函数
tf.random_normal 正态分布
tf.truncated_normal 正态分布
tf.random_uniform 均匀分布
tf.random_gammer gammer分布
weights = tf.Variable(tf.random_normal([2,3], stddev=2))
- TF 常数初始化函数
tf.zeros 产生全为0的数组
tf.ones 产生全为1的数组
tf.constant 给定制的数组
在tensorflow
运行的过程中需要初始化所有值
tf.global_variables_initializer()
例子:
import tensorflow as tf
w = tf.Variable(tf.constant([[0.2,0.1,0.4],[0.3,-0.5,0.2]]))
x = tf.constant([[0.7,0.9]])
b = tf.matmul(x, w)
with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)
print b.eval()
TF get_variable
变量初始化
在TF
中get_variable
初始化变量较多。虽然在变量的定义方面基本相同,但是在变量空间仍不同,这里先不讨论。
variable 变量初始化
w1 = tf.Variable(tf.random_normal([2,3] , stddev = 1), name = "w1")
w2 = tf.Variable(tf.random_normal([2,3] , stddev = 1), dtype = tf.float32, name = "w1")
get_variable 变量初始化
tf.get_variable(name = "v", shape=[1], initializer= tf.constant_initializer(1.0))
-TF get_variable
常见的初始化函数
- tf.constant_initializer 将变量初始化为给定变量 参数初始值
-tf.random_normal_initializer 正态分布初始化 参数均值和方差
-tf.truncated_normal_initializer 偏离不超过2个标准差的正态初始化 均值和方差
-tf.random_uniform_initializer 将变量初始化为满足均匀分布的随机值 最大和最小值
-tf.zeros_initializer 初始化为全0 变量维度
-tf.ones_initizalizer 将变量全设置1 变量维度